Re: [darcs-devel] Darcs and git: plan of action
- From
- Tupshin Harper <tupshin@tupshin.com>
- Date
- Apr 19, 2005, 16:33 UTC
- Message-ID
- <426532D5.3040306@tupshin.com>
- In-Reply-To
- <Pine.LNX.4.58.0504190749030.19286@ppc970.osdl.org>
Linus Torvalds wrote:
Show 7 quoted lines
>(In other words: if it looks like something a careful human _could_ have >written, it's certainly ok. But if it looks like something a careful human >would have used a script to generate 40 entries of, it's bad). > > Linus > >
This is the way that darcs would currently represent a "darcs replace foo bar" on 15 files, which is obviously exactly what you are objecting to: [global foo to bar tupshin@tupshin.com**20050419155539] { replace ./dir1/file1 [A-Za-z_0-9] foo bar replace ./dir1/file2 [A-Za-z_0-9] foo bar replace ./dir1/file3 [A-Za-z_0-9] foo bar replace ./dir1/file4 [A-Za-z_0-9] foo bar replace ./dir1/file5 [A-Za-z_0-9] foo bar replace ./dir2/file1 [A-Za-z_0-9] foo bar replace ./dir2/file2 [A-Za-z_0-9] foo bar replace ./dir2/file3 [A-Za-z_0-9] foo bar replace ./dir2/file4 [A-Za-z_0-9] foo bar replace ./dir2/file5 [A-Za-z_0-9] foo bar replace ./dir3/file1 [A-Za-z_0-9] foo bar replace ./dir3/file2 [A-Za-z_0-9] foo bar replace ./dir3/file3 [A-Za-z_0-9] foo bar replace ./dir3/file4 [A-Za-z_0-9] foo bar replace ./dir3/file5 [A-Za-z_0-9] foo bar }
I see two possible complementary ways to address this: 1) allow something akin to the above form in git free-form comments as a *technical* solution, while leaving it up to the individual repository owner whether to accept such patches on aesthetic grounds. 2) explore adding a different format to darcs that would allow a files affected to be represented more compactly.
I suspect that any use of wildcards in a new format would be impossible for darcs since it wouldn't allow darcs to construct dependencies, though I'll leave it to david to respond to that.
At a minimum, something like: replace ./dir1/[file1|file2|file3|file4|file5] [A-Za-z_0-9] foo bar replace ./dir2/[file1|file2|file3|file4|file5] [A-Za-z_0-9] foo bar replace ./dir3/[file1|file2|file3|file4|file5] [A-Za-z_0-9] foo bar should be pretty feasible.
I don't believe, however, that it would ever be 100% reliable to try to look at a one line replace description and combine it with the actual changes and end up with a correct darcs replace patch.
-Tupshin