[darcs-devel] Sub repositories

Anthony Towns aj at azure.humbug.org.au
Mon Dec 13 01:01:45 PST 2004


Hi all,

So in writing

http://www.abridgegame.org/pipermail/darcs-users/2004-December/004813.html

I thought "wouldn't it be easy to treat sub repositories as `boring'", 
so what -ls wasn't quite so confusing?

Turns out it's not too difficult. The only problematic thing is that the 
obvious way to tell if something's a subrepo is by looking for a _darcs/ 
tree, but that's skipped as boring before we get a chance. I chose to 
require the boring patterns be edited for this to work.

(See attached)

The idea is so that you can do:

    darcs get --repo-name x http://blah/projects/x
    darcs get --repo-name x/lib http://blah/projects/x-lib
    cd x
    vi newfile
    darcs what -ls

and just have "newfile" listed, not everything under lib/

Anyway, thought it might be worth a look. It's a no-op if you don't 
change the boring regexes, so arguably it's even fully backwards 
compatible :)

Cheers,
aj
-------------- next part --------------

New patches:

[ignore sub-repos
Anthony Towns <aj at azure.humbug.org.au>**20041213084957
 This patch makes darcs what --look-for-adds ignore sub-repositories.
 
 It does this by ignoring newly added directories that have an _darcs/
 subdirectory. This only works if the _darcs subdir isn't caught as
 a boringfile, which means changing the regexp from (^|/)_darcs(/|$) to
 ^_darcs(/|$).
] {
hunk ./Diff.lhs 44
+import FileName ( own_name, fn2fp, fp2fn )
hunk ./Diff.lhs 160
-        adddir n :(map (submerge_in_dir n) $
-                   concatMap (diff_added wt) $ get_dircontents s)
+           let scont = get_dircontents s
+               darcsdir e = is_dir e && 
+                               fn2fp(own_name(fp2fn(slurp_name e))) == "_darcs"
+               in
+           if filter darcsdir scont == []
+              then adddir n :(map (submerge_in_dir n) $
+                     concatMap (diff_added wt) $ scont)
+              else []
}

Context:

[print exit value on external program failure.
David Roundy <droundy at abridgegame.org>**20041211143830] 
[fix problem with sift_for_pending and binary patches.
David Roundy <droundy at abridgegame.org>**20041211143435] 
[Explain remote darcs invocation when pushing
Erik Schnetter <schnetter at aei.mpg.de>**20041209123827] 
[fix bug in initializing file for long comment.
David Roundy <droundy at abridgegame.org>**20041210130811] 
[make bug in get_extra explain possible cause of bug.
David Roundy <droundy at abridgegame.org>**20041210130135
 It also adds a link to a page on the wiki discussing the 1.0.0 -> 1.0.1
 transition, the commute bug that was fixed, and the ramifications for
 users.
] 
[Add .DS_Store to default boring file.
David Roundy <droundy at abridgegame.org>**20041209130722] 
[Fix spacing when printing empty files as docs, and empty docs with *Ln functions
Ian Lynagh <igloo at earth.li>**20041208153943] 
[latex fix in docs.
David Roundy <droundy at abridgegame.org>**20041209123318] 
[further clarify docs for darcs transport protocol support
Mark Stosberg <mark at summersault.com>**20041209010731] 
[add quotes around repodir when pulling (addresses bug #124)
Mark Stosberg <mark at summersault.com>**20041208233617] 
[clarify darcs push/ssh docs (resolves bug #123)
Mark Stosberg <mark at summersault.com>**20041208233048] 
[TAG 1.0.1rc2
David Roundy <droundy at abridgegame.org>**20041208130340] 
[update version number to 1.0.1rc2
David Roundy <droundy at abridgegame.org>**20041208130320] 
[cleanup: use just_dir function 
jani at iv.ro**20041202122441] 
[eliminate need for gnu tar --force-local option
Will <will at glozer.net>**20041207234801] 
[muttrc quoting fix
Peter Prohaska <pitrp at wg78.de>**20041206181756] 
[Make concatPS consume its input lazily
Ian Lynagh <igloo at earth.li>**20041206230830] 
[Provide a concatPS variant that consumes its input lazily when we know its length, and use it in SHA1
Ian Lynagh <igloo at earth.li>**20041206022157] 
[Optimise SHA1 some more
Ian Lynagh <igloo at earth.li>**20041206002313] 
[Eliminate unnecessary reverses
Ian Lynagh <igloo at earth.li>**20041205160832] 
[Remove dead code
Ian Lynagh <igloo at earth.li>**20041205153801] 
[update _GET_FOO docs based on aj's feedback and 'fetch' man page
Mark Stosberg <mark at summersault.com>**20041205183759] 
[Enhance docs for DARCS_GET_FOO
Mark Stosberg <mark at summersault.com>**20041205153351] 
[use reads rather than hand-coded string -> int conversion.
David Roundy <droundy at abridgegame.org>**20041205135432] 
[resolve conflict between mapi fix and mget code.
David Roundy <droundy at abridgegame.org>**20041205134958] 
[flush output in trackdown before running external command.
David Roundy <droundy at abridgegame.org>**20041205131747] 
[if no html-generator is present, just touch manual/index.html.
David Roundy <droundy at abridgegame.org>**20041205131713] 
[document --verbose option for 'pull'
Mark Stosberg <mark at summersault.com>**20041205011415] 
[clarify darcs vs CVS file reverting a bit
Mark Stosberg <mark at summersault.com>**20041205005814
 
 A co-worker still needed help on this after reading these docs, so I thought
 it was worth clarifying.
] 
[fix display of patch names in trackdown, which was inverted.
David Roundy <droundy at abridgegame.org>**20041204184611] 
[add another usage example to trackdown docs.
David Roundy <droundy at abridgegame.org>**20041204184312] 
[Make sure the MAPI code is compilable even if we can't use it.
Ian Lynagh <igloo at earth.li>**20041204214408
 If have_mapi is False it will be simplified out anyway.
] 
[Remove redundant code
Ian Lynagh <igloo at earth.li>**20041204190031] 
[document DARCS_MGETMAX
aj at azure.humbug.org.au**20041205131807] 
[support for DARCS_MGETMAX to limit args to MGET commands
aj at azure.humbug.org.au**20041205131502] 
[document DARCS_MGET_*
aj at azure.humbug.org.au**20041205093428] 
[Add RCS directory to default boring file.
John Meacham <john at repetae.net>**20041204040211] 
[Merge changes
Ian Lynagh <igloo at earth.li>**20041204164313] 
[Avoid showing Patch/PatchInfos
Ian Lynagh <igloo at earth.li>**20041204162232] 
[Merge changes
Ian Lynagh <igloo at earth.li>**20041204145522] 
[Use Doc
Ian Lynagh <igloo at earth.li>**20041204035104] 
[Use Docs more
Ian Lynagh <igloo at earth.li>**20041204032309] 
[Don't pass render simplePrinters explicitly
Ian Lynagh <igloo at earth.li>**20041204031710] 
[Use Docs more
Ian Lynagh <igloo at earth.li>**20041204030141] 
[Remove some (<> newline)s
Ian Lynagh <igloo at earth.li>**20041204025348] 
[Use Docs more
Ian Lynagh <igloo at earth.li>**20041204025221] 
[Use Docs more
Ian Lynagh <igloo at earth.li>**20041204024609] 
[Avoid Doc -> String -> Handle
Ian Lynagh <igloo at earth.li>**20041204022647] 
[Use Docs a bit more
Ian Lynagh <igloo at earth.li>**20041204020707] 
[Don't take the MOTD via String
Ian Lynagh <igloo at earth.li>**20041204013441] 
[Some spacing tweaks
Ian Lynagh <igloo at earth.li>**20041204011005] 
[print patch name in human-friendly manner in trackdown.
David Roundy <droundy at abridgegame.org>**20041204153220] 
[added rm of darcs.idv to clean rule
ijones at debian.org**20041120230219] 
[fix bug leading to attempts to write an invalid pending.
David Roundy <droundy at abridgegame.org>**20041204150112] 
[add --repodir support to check.
David Roundy <droundy at abridgegame.org>**20041204133251] 
[add more explicit test for darcs binary to Perl tests that didn't already have it. 
Mark Stosberg <mark at summersault.com>**20041204130104] 
[add rss generation to darcs.cgi
Will <will at glozer.net>**20041204012102] 
[fix bug in display of cgi error page
Will <will at glozer.net>**20041204010921] 
[remove is_repo entirely.
David Roundy <droundy at abridgegame.org>**20041204121210] 
[don't set defaultrepo on pull until we know the repo is valid.
David Roundy <droundy at abridgegame.org>**20041204115706] 
[resolve conflict.
David Roundy <droundy at abridgegame.org>**20041204121228] 
[optimize `get' and `pull' to read inventory only once
Karel Gardas <kgardas at objectsecurity.com>**20041203222839] 
[fix compile error when MAPI is enabled
Will <will at glozer.net>**20041203172134] 
[Implement Printer.vsep and use it in a few places
Ian Lynagh <igloo at earth.li>**20041204000348] 
[More Doc stuff
Ian Lynagh <igloo at earth.li>**20041203215830] 
[Teach Printer about prefixes
Ian Lynagh <igloo at earth.li>**20041203181302] 
[Document generatePS correctly
Ian Lynagh <igloo at earth.li>**20041201123553] 
[More docification
Ian Lynagh <igloo at earth.li>**20041201035623] 
[More doc stuff
Ian Lynagh <igloo at earth.li>**20041201024449] 
[fix typo in add.pl test
Tommy Pettersson <ptp at lysator.liu.se>**20041202160949] 
[nicer message when apply fails for URLs.
David Roundy <droundy at abridgegame.org>**20041203130549] 
[make test add.pl support locale if DARCS_USE_ISPRINT is set
Tommy Pettersson <ptp at lysator.liu.se>**20041203125248] 
[Some tests were failing if 'whatsnew summary' was in defaults
Nigel Rowe <rho at swiftdsl.com.au>**20041202004116
 Should there be a --no-defaults flag to ignore ~/.darcs/defaults?
] 
[pass --force-local to tar when filename has colon
Will <will at glozer.net>**20041203054529] 
[fix bug in diff when no temp dir exists
Will <will at glozer.net>**20041203013521] 
[clarify that REPONAME is a directory name
Mark Stosberg <mark at summersault.com>**20041201132829
 
 This was especially confusing for 'darcs get', which has both REPOSITORY and REPONAME
 as arguments, which sound like exactly the same thing. I clarified that REPONAME
 refers to a directory name.
] 
[first pass at implementing DARCS_MGET_* support
aj at azure.humbug.org.au**20041205080804] 
[document DARCS_GET_* and DARCS_APPLY_*
aj at azure.humbug.org.au**20041205080706] 
[resolve conflict between DARCS_APPLY and Ian's doc changes.
David Roundy <droundy at abridgegame.org>**20041202133139] 
[index.html should be rebuild if config.status has changed.
David Roundy <droundy at abridgegame.org>**20041202125327] 
[remove no-warn-deprecations pragmas where they aren't needed.
David Roundy <droundy at abridgegame.org>**20041202123004] 
[remove unneeded openFd #ifdefs.
David Roundy <droundy at abridgegame.org>**20041202122920] 
[TAG 1.0.1rc1
droundy at civet.berkeley.edu**20041201114513] 
[update version number to 1.0.1rc1.
David Roundy <droundy at abridgegame.org>**20041201112515] 
[make date parsing ignore extra characters if first 14 are digits.
David Roundy <droundy at abridgegame.org>**20041201105659] 
[Remove qualifiers (PS, Doc) from names with only one variant
Ian Lynagh <igloo at earth.li>**20041201000045] 
[Remove unused import
Ian Lynagh <igloo at earth.li>**20041201000013] 
[Remove dead code
Ian Lynagh <igloo at earth.li>**20041130233957] 
[More Docification
Ian Lynagh <igloo at earth.li>**20041130233907] 
[Remove dead code
Ian Lynagh <igloo at earth.li>**20041130233227] 
[More string avoidance and some tidying up
Ian Lynagh <igloo at earth.li>**20041130231323] 
[Fix bug where PS is given the wrong size in generatePS
Ian Lynagh <igloo at earth.li>**20041201035611] 
[Avoid strings some more
Ian Lynagh <igloo at earth.li>**20041130225725] 
[Do more stuff as Doc/PackedString
Ian Lynagh <igloo at earth.li>**20041130194050] 
[Use Docs more
Ian Lynagh <igloo at earth.li>**20041130181913] 
[Keep more as Docs
Ian Lynagh <igloo at earth.li>**20041130181555] 
[Turn off profiling -auto-all for SHA1 as it makes it  stack overflow
Ian Lynagh <igloo at earth.li>**20041130173526] 
[CVS GHC fixes
Ian Lynagh <igloo at earth.li>**20041130132940] 
[Fiddle printer operator fixities
Ian Lynagh <igloo at earth.li>**20041130040654] 
[Fix unit tester
Ian Lynagh <igloo at earth.li>**20041130040625] 
[Keep to Docs more. Unfortunately we currently have to go via Strings when making e-mail QP.
Ian Lynagh <igloo at earth.li>**20041130024817] 
[Rejig things a bit to save going PS -> String -> Handle when pushing
Ian Lynagh <igloo at earth.li>**20041130013859] 
[Fix invisibility of asterisks
Ian Lynagh <igloo at earth.li>**20041130012924] 
[Eliminate redundant function
Ian Lynagh <igloo at earth.li>**20041130004238] 
[Simplify printer
Ian Lynagh <igloo at earth.li>**20041130001154] 
[Use memchr, not our own (slower) implementation
Ian Lynagh <igloo at earth.li>**20041129001537] 
[Remove waste of space and fix bug (wrong pointer freed)
Ian Lynagh <igloo at earth.li>**20041130203050] 
[hGetContentsPS
Ian Lynagh <igloo at earth.li>**20041130190039] 
[include win32/Posix.hs when building unit on win32
Will <will at glozer.net>**20041129223757] 
[removing Amending patches from basic documentation
Mark Stosberg <mark at summersault.com>**20041106030942
 
 I really like this clear description of what Amend record is actually doing.
 I've submitted a patch to the stable repo to merge some of the wording here
 into the (currently sparse) docs for admend-record.
 
 Amend-record is a more advanced, dangerous command which doesn't belong in a
 "Basics" section, so I removed it here.
] 
[improve documentation clarity
Mark Stosberg <mark at summersault.com>**20041106030733] 
[improve formatting of 'working' and 'current'
Mark Stosberg <mark at summersault.com>**20041106030657] 
[documentation, basics on creating patches
Tommy Pettersson <ptp at lysator.liu.se>**20041103111151] 
[first pass at support for DARCS_APPLY_*
aj at azure.humbug.org.au**20041201082027
 - allowed to push url repos as long as DARCS_APPLY_* is set
 - move the error message for not being able to push to urls earlier
 - add an error message for not being able to use --apply-as on urls
] 
[clean up DARCS_GET_* handling a bit
aj at azure.humbug.org.au**20041201082004] 
[don't link with patch tests, which aren't needed except for unit.
David Roundy <droundy at abridgegame.org>**20041129122201] 
[Merge changes
Ian Lynagh <igloo at earth.li>**20041128142245] 
[Refactor the equality tests
Ian Lynagh <igloo at earth.li>**20041128141504] 
[Merge equality changes
Ian Lynagh <igloo at earth.li>**20041128140424] 
[Give explicit import list
Ian Lynagh <igloo at earth.li>**20041128023749] 
[null_patch and is_null_patch
Ian Lynagh <igloo at earth.li>**20041128023010] 
[Factor out Patch tests and make equality/comparisons explicit
Ian Lynagh <igloo at earth.li>**20041128015824] 
[first pass at implementing DARCS_GET_foo support
aj at azure.humbug.org.au**20041130165021] 
[really fix annotate bug this time.
David Roundy <droundy at abridgegame.org>**20041128140601] 
[update ChangeLog.
David Roundy <droundy at abridgegame.org>**20041128125604] 
[fix bug in commutation of adjacent hunks which have either no new or no old lines.
David Roundy <droundy at abridgegame.org>**20041128124946] 
[fix bug introduced yesterday in named patch compare.
David Roundy <droundy at abridgegame.org>**20041128124913] 
[Use patch tags for patch selection
Ian Lynagh <igloo at earth.li>**20041127190622] 
[speed up named patch compare.
David Roundy <droundy at abridgegame.org>**20041127145844] 
[Fiddle with unpackPS a bit. Not sure what the best answer is yet.
Ian Lynagh <igloo at earth.li>**20041126163254] 
[Tweak takePS
Ian Lynagh <igloo at earth.li>**20041126135212] 
[unsafeHeadPS and unsafeTailPS
Ian Lynagh <igloo at earth.li>**20041126132813] 
[Optimise printableStringFromPS for Char
Ian Lynagh <igloo at earth.li>**20041126132009] 
[Remove unnecessary whitespace from darcs.cgi.in.
joe at elem.com**20041126185146
 Used emacs' nuke-trailing-whitespace to remove unsightly whitespace
 from the ends of lines.
] 
[append CR to conflict markers when existing contents end with CR
Will <will at glozer.net>**20041126231912] 
[use MAPI to resolve to and from addresses
Will <will at glozer.net>**20041126221236] 
[make curl_global_init test work with msys+mingw
Will <will at glozer.net>**20041126180215] 
[remove hardcoded references to /tmp in documentation
Samuel Tardieu <sam at rfc1149.net>**20041126135426] 
[fix bug in annotate.
David Roundy <droundy at abridgegame.org>**20041125120625] 
[check whether libcurl actually works (since curl-config may be broken).
David Roundy <droundy at abridgegame.org>**20041125120514] 
[display patch counts or names during get
Will <will at glozer.net>**20041124073551] 
[use libcurl if available for copyRemotes.
David Roundy <droundy at abridgegame.org>**20041123120456] 
[abstract user prompts and strip CR on win32
Will <will at glozer.net>**20041123065536] 
[fix problem where the --cc was ignored in apply if the patch succeeded.
David Roundy <droundy at abridgegame.org>**20041121140133] 
[TAG 1.0.1pre1
David Roundy <droundy at abridgegame.org>**20041121134516] 
Patch bundle hash:
da165ea6a70812130cfe3aa3b89801ce6c5f8072


More information about the darcs-devel mailing list