* Unresolved issues #3 @ 2006-08-18 4:09 Junio C Hamano 2006-08-18 4:49 ` A Large Angry SCM ` (8 more replies) 0 siblings, 9 replies; 30+ messages in thread From: Junio C Hamano @ 2006-08-18 4:09 UTC (permalink / raw) To: git As everybody has probably noticed already, I am terrible at maintaining "the current issues" list. The most recent issue of this series was done when? Back on May 4th this year. Shame on me. Here is a list of topics in the recent git traffic that I feel inadequately addressed, in no particular order. I've commented on some of them to give people a feel for what my priorities are. Somebody might want to rehash the ones low on my priority list to conclusion with a concrete proposal if they cared about them enough. * Mozilla import team seems to be making an interesting set of discoveries around the area of scalability, although I haven't personally looked at any of the tools they are using so far. Continued discussion is encouraged, and I am looking forward to see the fruits of this effort. Very much appreciated. * Eric W Biederman outlined an alternative workflow to track history of the tip of a branch that does not use ref-log facility. Message-ID: <m1mzakpam8.fsf@ebiederm.dsl.xmission.com> I think this sort-of makes sense when everybody involved does not misuse the fake parallel branch for purposes other than tracking the tip of the other, "true", branch, but I fear it would confuse people quite a bit. Eric talks about making rewinding and rebasing in distributed manner possible, but I do not know what merging between the fake branches would mean, for example. * Matthias Lederhofer's helper for stand alone gitweb test looked very promising: Message-ID: <20060806165151.GB9548@moooo.ath.cx> With the recent flurry of gitweb changes, we really need a test suite to catch obvious breakages in the t/ hierarchy, and something like this patch would help. I'd like to apply this patch, if somebody wants to add gitweb tests. * Jeff King sent a patch to color git-status output Message-ID: <20060805031418.GA11102@coredump.intra.peff.net> But later he started working on rewriting one core function from git-status in C, which I think makes a lot of sense. That would make this patch unnecessary. A thread related to this effort is this: Message-ID: <20060810082455.GA30739@coredump.intra.peff.net> Hoping to see the C implementation of run_status but I am in no rush myself. I vaguely recall there was a companion patch to add vim colorizer for the current git-status output, meant for contrib/vim, but I lost it. If somebody cares deeply enough please send it over. * Alex Riesen still has problems with Git.pm/Git.xs on Windows with ActiveState Perl. Message-ID: <81b0412b0608020702q2fd4ec83ga43714c15538f7ad@mail.gmail.com> There was a workaround patch by Alex to disable certain commands that happen to use Git.pm: Message-ID: <81b0412b0608040640s44c0d84et94871bce0271b047@mail.gmail.com> But I sense this would make us think twice before using Git.pm in new programs (i.e. "Can Alex live without this new nice program? If not maybe we should write it without Git.pm"), which feels backwards and I would like to avoid it if we can. I am not sure what the resolution of this should be. * Michael S. Tsirkin discovered that we have trouble dealing with the same remote ref tracked by multiple tracking branches. Message-ID: <20060807125116.GA28658@mellanox.co.il> Since I do not see a valid use case that _must_ use more than one local tracking branch to track one remote ref, I think it is Ok to declare it an error to do so. However, at least, we would need a better error message even then. * Jeff Garzik reports that the summary page of gitweb does not look at anything other than "master" which is not appropriate for his tree. Message-ID: <44D874F0.6000907@garzik.org> I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, Aneesh) about this. * gitk bottom-left pane layout is reported to be broken for some people. Message-ID: <20060802192922.GA30539@prophet.net-ronin.org> "carbonated beverage" tried some random hacks to work it around but I do not think we have gotten anywhere, and the discussion fizzled out. I vaguely recall paulus saying it was a Tk bug but do not recall hearing nor understanding any details myself. * "A Large Angry SCM" wrote a nice summary, "Git files data formats documentation". Message-ID: <44D51D47.9090700@gmail.com> With one final update by Nico yesterday, I think it is ready for inclusion. Does somebody care to make a patch out of it to add it to Documentation/technical/, maybe removing pack-format.txt there after making sure all it talks about is covered by the new documentation? I do not have enough "virginity" to spot omissions in the description anymore, so comments from somebody new to the system are very much appreciated. * Martin Langhoff proposed git-xxdiff as a helper after a failed merge. Message-ID: <11546492331601-git-send-email-martin@catalyst.net.nz> I like the general idea of this a lot, but am having a bit of trouble envisioning how we can integrate this while making sure mergers other than xxdiff can be added easily without disrupting the end user experience. * Shawn Pearce noticed that fsck-objects do not fully check some fields in commits: Message-ID: <20060814062830.GF18667@spearce.org> * Although "annotate" had some big fixes just before 1.4.2, Ryan seems to feel "blame" has already won. Message-ID: <20060807194539.GD15477@h4x0r5.com> Is there still an area "annotate" shines more than "blame -c"? * "Michael barra_cuda" noticed that an option "--no" is ambiguous to git-revert: Message-ID: <200608031742.23170.barra_cuda@katamail.com> I need to fix this. * Cherry-pick should not require -r to suppress "cherry-picked from" message. Message-ID: <Pine.LNX.4.64.0607120834200.5623@g5.osdl.org> This was requested by Linus, which I haven't done anything about yet. Maybe making -r a no-op, defaulting not to add the message, and introducing --record-original flag to add it would be a way to go? My fingers are trained to automatically type -r when doing cherry-pick which is a very good indication that the flag was a mistake. * Martin Waitz has a patch to accept "end-of-cover-letter" marker in patch messages. Message-ID: <20060723214524.GC20068@admingilde.org> I did not take the patch, primarily because I do not want to encourage "cover letter then log then patch" format, and also the proposed marker "+++" looked somewhat ugly (see Message-ID: <20060801193408.GF16364@admingilde.org> for an example). If somebody wants to rehash this I am still open to reconsider it, but I sense a veto from Linus coming... ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano @ 2006-08-18 4:49 ` A Large Angry SCM 2006-08-18 14:49 ` Nicolas Pitre 2006-08-18 5:10 ` Jeff King ` (7 subsequent siblings) 8 siblings, 1 reply; 30+ messages in thread From: A Large Angry SCM @ 2006-08-18 4:49 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Junio C Hamano wrote: ... > * "A Large Angry SCM" wrote a nice summary, "Git files data > formats documentation". > > Message-ID: <44D51D47.9090700@gmail.com> > > With one final update by Nico yesterday, I think it is ready > for inclusion. > > Does somebody care to make a patch out of it to add it to > Documentation/technical/, maybe removing pack-format.txt there > after making sure all it talks about is covered by the new > documentation? > > I do not have enough "virginity" to spot omissions in the > description anymore, so comments from somebody new to the > system are very much appreciated. > Two things: 1) I disagree with Nico's assessment that, other than his, there can not exist any type 2 packs that have bit 6 set to mean copy from result. 2) The document, if included into the core Git documentation, would be viewed as more authoritative than it actually is. It's really just a set of (structured) notes on various aspects of the files Git reads and writes, pulled from various sources. Little or no attempt was made to separate "implementation artifact" from intended structure. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:49 ` A Large Angry SCM @ 2006-08-18 14:49 ` Nicolas Pitre 2006-08-18 14:56 ` A Large Angry SCM 0 siblings, 1 reply; 30+ messages in thread From: Nicolas Pitre @ 2006-08-18 14:49 UTC (permalink / raw) To: A Large Angry SCM; +Cc: Junio C Hamano, git On Thu, 17 Aug 2006, A Large Angry SCM wrote: > Junio C Hamano wrote: > ... > > * "A Large Angry SCM" wrote a nice summary, "Git files data > > formats documentation". > > > > Message-ID: <44D51D47.9090700@gmail.com> > > > > With one final update by Nico yesterday, I think it is ready > > for inclusion. > > > > Does somebody care to make a patch out of it to add it to > > Documentation/technical/, maybe removing pack-format.txt there > > after making sure all it talks about is covered by the new > > documentation? > > > > I do not have enough "virginity" to spot omissions in the > > description anymore, so comments from somebody new to the > > system are very much appreciated. > > > > Two things: > > 1) I disagree with Nico's assessment that, other than his, there can not > exist any type 2 packs that have bit 6 set to mean copy from result. Care to explain why? Since this code is mine I can tell you that no official GIT version ever produced such a pack. The code to make use of that bit was quite involving and the end result wasn't great at all so I never published said code. This is also why current GIT accepts both pack version 2 and 3 without any distinction using the same code in patch-delta.c on the basis that no version 2 packs ever used that bit. Nicolas ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 14:49 ` Nicolas Pitre @ 2006-08-18 14:56 ` A Large Angry SCM 2006-08-18 15:30 ` Nicolas Pitre 0 siblings, 1 reply; 30+ messages in thread From: A Large Angry SCM @ 2006-08-18 14:56 UTC (permalink / raw) To: Nicolas Pitre; +Cc: Junio C Hamano, git Nicolas Pitre wrote: > On Thu, 17 Aug 2006, A Large Angry SCM wrote: ... >> >> 1) I disagree with Nico's assessment that, other than his, there can not >> exist any type 2 packs that have bit 6 set to mean copy from result. > > Care to explain why? > > Since this code is mine I can tell you that no official GIT version ever ^^^^^^^^^^^^^^^^^^^^^^^ > produced such a pack. The code to make use of that bit was quite > involving and the end result wasn't great at all so I never published > said code. This is also why current GIT accepts both pack version 2 and > 3 without any distinction using the same code in patch-delta.c on the > basis that no version 2 packs ever used that bit. That doesn't prove the non-existence of other code to do it. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 14:56 ` A Large Angry SCM @ 2006-08-18 15:30 ` Nicolas Pitre 2006-08-19 4:04 ` A Large Angry SCM 0 siblings, 1 reply; 30+ messages in thread From: Nicolas Pitre @ 2006-08-18 15:30 UTC (permalink / raw) To: A Large Angry SCM; +Cc: Junio C Hamano, git On Fri, 18 Aug 2006, A Large Angry SCM wrote: > Nicolas Pitre wrote: > > On Thu, 17 Aug 2006, A Large Angry SCM wrote: > ... > >> > >> 1) I disagree with Nico's assessment that, other than his, there can not > >> exist any type 2 packs that have bit 6 set to mean copy from result. > > > > Care to explain why? > > > > Since this code is mine I can tell you that no official GIT version ever > ^^^^^^^^^^^^^^^^^^^^^^^ > > produced such a pack. The code to make use of that bit was quite > > involving and the end result wasn't great at all so I never published > > said code. This is also why current GIT accepts both pack version 2 and > > 3 without any distinction using the same code in patch-delta.c on the > > basis that no version 2 packs ever used that bit. > > That doesn't prove the non-existence of other code to do it. So? If the official and primary code for GIT doesn't support it, what is the point? I'm telling you that if such packs exist they will simply barf with all official GIT releases later than v1.1.6 making your argument pointless. I don't mind you documenting that historic intent for a bit that was never officially used, but at least let's document it right. Nicolas ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 15:30 ` Nicolas Pitre @ 2006-08-19 4:04 ` A Large Angry SCM 2006-08-20 23:10 ` Nicolas Pitre 0 siblings, 1 reply; 30+ messages in thread From: A Large Angry SCM @ 2006-08-19 4:04 UTC (permalink / raw) To: Nicolas Pitre; +Cc: Junio C Hamano, git Nicolas Pitre wrote: > On Fri, 18 Aug 2006, A Large Angry SCM wrote: > >> Nicolas Pitre wrote: >>> On Thu, 17 Aug 2006, A Large Angry SCM wrote: >> ... >>>> 1) I disagree with Nico's assessment that, other than his, there can not >>>> exist any type 2 packs that have bit 6 set to mean copy from result. >>> Care to explain why? >>> >>> Since this code is mine I can tell you that no official GIT version ever >> ^^^^^^^^^^^^^^^^^^^^^^^ >>> produced such a pack. The code to make use of that bit was quite >>> involving and the end result wasn't great at all so I never published >>> said code. This is also why current GIT accepts both pack version 2 and >>> 3 without any distinction using the same code in patch-delta.c on the >>> basis that no version 2 packs ever used that bit. >> That doesn't prove the non-existence of other code to do it. > > So? If the official and primary code for GIT doesn't support it, what > is the point? I'm telling you that if such packs exist they will simply > barf with all official GIT releases later than v1.1.6 making your > argument pointless. > > I don't mind you documenting that historic intent for a bit that was > never officially used, but at least let's document it right. Historic fact. Between Thu May 19 08:56:22 2005 and Thu Feb 9 21:06:38 2006 bit 6 of the first byte of a delta hunk was interpreted to mean that the source of the copy was the result buffer. From Thu May 19 08:56:22 2005 on, the code to decode delta hunks in type 2 packs was available to everyone and anyone interested could make a pack encoder that would create packs that the core Git code would correctly read. The commit of Thu Feb 9 21:06:38 2006, d60fc, actually introduced a bug that would treat valid type 2 packs as invalid. Since there was not any documentation that declared the bit as reserved, the code was the documentation and it specified that bit 6 of the first byte of a delta hunk was to be interpreted as meaning the the copy source in the result buffer. The code did not and does not document intent. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-19 4:04 ` A Large Angry SCM @ 2006-08-20 23:10 ` Nicolas Pitre 2006-08-20 23:26 ` Junio C Hamano 0 siblings, 1 reply; 30+ messages in thread From: Nicolas Pitre @ 2006-08-20 23:10 UTC (permalink / raw) To: A Large Angry SCM; +Cc: Junio C Hamano, git On Fri, 18 Aug 2006, A Large Angry SCM wrote: > Nicolas Pitre wrote: > > On Fri, 18 Aug 2006, A Large Angry SCM wrote: > >> That doesn't prove the non-existence of other code to do it. > > > > So? If the official and primary code for GIT doesn't support it, what > > is the point? I'm telling you that if such packs exist they will simply > > barf with all official GIT releases later than v1.1.6 making your > > argument pointless. > > > > I don't mind you documenting that historic intent for a bit that was > > never officially used, but at least let's document it right. > > Historic fact. Between Thu May 19 08:56:22 2005 and Thu Feb 9 21:06:38 > 2006 bit 6 of the first byte of a delta hunk was interpreted to mean > that the source of the copy was the result buffer. From Thu May 19 > 08:56:22 2005 on, the code to decode delta hunks in type 2 packs was > available to everyone and anyone interested could make a pack encoder > that would create packs that the core Git code would correctly read. The > commit of Thu Feb 9 21:06:38 2006, d60fc, actually introduced a bug > that would treat valid type 2 packs as invalid. The "actually introduced a bug" sentence is your own interpretation not a _fact_. And I simply disagree with that interpretation of yours. I don't think this is worth arguing any further. Nicolas ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-20 23:10 ` Nicolas Pitre @ 2006-08-20 23:26 ` Junio C Hamano 2006-08-21 4:05 ` A Large Angry SCM 0 siblings, 1 reply; 30+ messages in thread From: Junio C Hamano @ 2006-08-20 23:26 UTC (permalink / raw) To: A Large Angry SCM; +Cc: git, Nicolas Pitre Nicolas Pitre <nico@cam.org> writes: > On Fri, 18 Aug 2006, A Large Angry SCM wrote: > >> Historic fact. Between Thu May 19 08:56:22 2005 and Thu Feb 9 21:06:38 >> 2006 bit 6 of the first byte of a delta hunk was interpreted to mean >> that the source of the copy was the result buffer. From Thu May 19 >> 08:56:22 2005 on, the code to decode delta hunks in type 2 packs was >> available to everyone and anyone interested could make a pack encoder >> that would create packs that the core Git code would correctly read. The >> commit of Thu Feb 9 21:06:38 2006, d60fc, actually introduced a bug >> that would treat valid type 2 packs as invalid. It is more like the said commit made the pack format extensible by declaring the bit reserved for the future use, by declaring retroactively that a type 2 pack that used that bit invalid. And it was deemed a reasonable and safe decision because no official git ever produced a type 2 pack that used that bit, Yes, that was a backward incompatible change, strictly speaking, and probably I should have made an announcement that looked similar to this by Linus: From: Linus Torvalds <torvalds@osdl.org> Subject: CAREFUL! No more delta object support! Date: Mon, 27 Jun 2005 18:14:40 -0700 (PDT) Message-ID: <Pine.LNX.4.58.0506271755140.19755@ppc970.osdl.org> To: Git Mailing List <git@vger.kernel.org> So you could argue I was incompetent not to make a big fuss about this backward incompatibility back then, if you like. I did not think it was worth it back then, and I do not think it is worth it now, either. But if it makes you feel better, I could retroactively make such an announcement about the unofficial bit 6. The announcement would have read like this: The current git code does not support type #2 packs that uses delta with bit 6 to mean "copy inside destination buffer". Although the code that interpreted delta data supported bit 6 that way for a brief period of time, no official git ever released produced delta that used the bit that way. In other words, if you have created packs with your own, modified git, that took advantage of "copy inside destination buffer" feature in the delta interpretation code, such packs are not usable by the official git, so you need to unpack them using your own version of git and then repack with the official version of git. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-20 23:26 ` Junio C Hamano @ 2006-08-21 4:05 ` A Large Angry SCM 0 siblings, 0 replies; 30+ messages in thread From: A Large Angry SCM @ 2006-08-21 4:05 UTC (permalink / raw) To: Junio C Hamano; +Cc: git, Nicolas Pitre Junio C Hamano wrote: > Nicolas Pitre <nico@cam.org> writes: > >> On Fri, 18 Aug 2006, A Large Angry SCM wrote: >> >>> Historic fact. Between Thu May 19 08:56:22 2005 and Thu Feb 9 21:06:38 >>> 2006 bit 6 of the first byte of a delta hunk was interpreted to mean >>> that the source of the copy was the result buffer. From Thu May 19 >>> 08:56:22 2005 on, the code to decode delta hunks in type 2 packs was >>> available to everyone and anyone interested could make a pack encoder >>> that would create packs that the core Git code would correctly read. The >>> commit of Thu Feb 9 21:06:38 2006, d60fc, actually introduced a bug >>> that would treat valid type 2 packs as invalid. > > It is more like the said commit made the pack format extensible > by declaring the bit reserved for the future use, by declaring > retroactively that a type 2 pack that used that bit invalid. > And it was deemed a reasonable and safe decision because no > official git ever produced a type 2 pack that used that bit, > > Yes, that was a backward incompatible change, strictly speaking, > and probably I should have made an announcement that looked > similar to this by Linus: > > From: Linus Torvalds <torvalds@osdl.org> > Subject: CAREFUL! No more delta object support! > Date: Mon, 27 Jun 2005 18:14:40 -0700 (PDT) > Message-ID: <Pine.LNX.4.58.0506271755140.19755@ppc970.osdl.org> > To: Git Mailing List <git@vger.kernel.org> > > So you could argue I was incompetent not to make a big fuss > about this backward incompatibility back then, if you like. > > I did not think it was worth it back then, and I do not think it > is worth it now, either. But if it makes you feel better, I > could retroactively make such an announcement about the > unofficial bit 6. > > The announcement would have read like this: > > The current git code does not support type #2 packs that > uses delta with bit 6 to mean "copy inside destination > buffer". Although the code that interpreted delta data > supported bit 6 that way for a brief period of time, no > official git ever released produced delta that used the > bit that way. > > In other words, if you have created packs with your own, > modified git, that took advantage of "copy inside > destination buffer" feature in the delta interpretation > code, such packs are not usable by the official git, so > you need to unpack them using your own version of git > and then repack with the official version of git. Please read the commit message for commit d60fc. It's type _3_ pack files that redefined bit 6 to add the extra byte of copy length, not type 2. Thus, no need to retroactively invalidate the type 2 pack files that used copy from result. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano 2006-08-18 4:49 ` A Large Angry SCM @ 2006-08-18 5:10 ` Jeff King 2006-08-18 8:54 ` Catalin Marinas ` (6 subsequent siblings) 8 siblings, 0 replies; 30+ messages in thread From: Jeff King @ 2006-08-18 5:10 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On Thu, Aug 17, 2006 at 09:09:03PM -0700, Junio C Hamano wrote: > * Jeff King sent a patch to color git-status output [...] > Hoping to see the C implementation of run_status but I am in > no rush myself. I am working on this but got side-tracked by "real" work. The current state is that I have a simplistic working C run_status, but I'm still hoping to hack the diff code to simultaneously do the tree<->index and index<->files diffs. I will try to send out something next week. > I vaguely recall there was a companion patch to add vim > colorizer for the current git-status output, meant for > contrib/vim, but I lost it. If somebody cares deeply enough > please send it over. It's in <20060805032135.GA11244@coredump.intra.peff.net>. However, if I can get the multi-diff support working, then the status format will change. I will wait until that is resolved before submitting a patch to put vim highlighting into contrib/. -Peff ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano 2006-08-18 4:49 ` A Large Angry SCM 2006-08-18 5:10 ` Jeff King @ 2006-08-18 8:54 ` Catalin Marinas 2006-08-18 9:26 ` Junio C Hamano 2006-08-18 8:56 ` Jakub Narebski ` (5 subsequent siblings) 8 siblings, 1 reply; 30+ messages in thread From: Catalin Marinas @ 2006-08-18 8:54 UTC (permalink / raw) To: Junio C Hamano; +Cc: git [-- Attachment #1: Type: text/plain, Size: 815 bytes --] Junio C Hamano <junkio@cox.net> wrote: > * Martin Langhoff proposed git-xxdiff as a helper after a failed > merge. > > Message-ID: <11546492331601-git-send-email-martin@catalyst.net.nz> > > I like the general idea of this a lot, but am having a bit of > trouble envisioning how we can integrate this while making > sure mergers other than xxdiff can be added easily without > disrupting the end user experience. In StGIT I can configure the merge command and I currently use the attached script (I need to add it to the StGIT repository). It tries diff3 first and, if that fails, invokes emacs' merge (can use xxdiff as well). It also checks whether the file was modified in case I want to exit and solve the conflict later (maybe after getting conflict information for the other files). -- Catalin [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: merge-interactive.py --] [-- Type: text/x-python, Size: 1950 bytes --] #!/usr/bin/env python """Run diff3 and an interactive tool if this fails. """ __copyright__ = """ Copyright (C) 2006, Catalin Marinas <catalin.marinas@gmail.com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ import sys, os if len(sys.argv) != 5: print >> sys.stderr, 'Usage: %s ancestor branch1 branch2 output' \ % sys.argv[0] sys.exit(1) ancestor = sys.argv[1] branch1 = sys.argv[2] branch2 = sys.argv[3] output = sys.argv[4] # default merger if os.system('diff3 -L current -L ancestor -L patched -m -E ' '"%s" "%s" "%s" > "%s"' % (branch1, ancestor, branch2, output)): # interactive merge if os.path.exists(output): mtime = os.path.getmtime(output) else: mtime = 0 ret = os.system('emacs --eval \'(ediff-merge-files-with-ancestor ' '"%s" "%s" "%s" nil "%s")\'' % (branch1, branch2, ancestor, output)) #ret = os.system( # 'xxdiff --title1 current --title2 ancestor --title3 patched ' # '--show-merged-pane -m -E -O -X -M "%s" "%s" "%s" "%s"' # % (output, branch1, ancestor, branch2)) # error in the interactive merger, just exit if ret: sys.exit(2) # check for file modification if not os.path.exists(output) or mtime == os.path.getmtime(output): sys.exit(3) # everything's fine sys.exit(0) ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 8:54 ` Catalin Marinas @ 2006-08-18 9:26 ` Junio C Hamano 2006-08-18 9:56 ` Catalin Marinas 0 siblings, 1 reply; 30+ messages in thread From: Junio C Hamano @ 2006-08-18 9:26 UTC (permalink / raw) To: Catalin Marinas; +Cc: git Catalin Marinas <catalin.marinas@arm.com> writes: > Junio C Hamano <junkio@cox.net> wrote: >> * Martin Langhoff proposed git-xxdiff as a helper after a failed >> merge. >> >> Message-ID: <11546492331601-git-send-email-martin@catalyst.net.nz> >> >> I like the general idea of this a lot, but am having a bit of >> trouble envisioning how we can integrate this while making >> sure mergers other than xxdiff can be added easily without >> disrupting the end user experience. > > In StGIT I can configure the merge command and I currently use the > attached script (I need to add it to the StGIT repository). It tries > diff3 first and, if that fails, invokes emacs' merge (can use xxdiff > as well). It also checks whether the file was modified in case I want > to exit and solve the conflict later (maybe after getting conflict > information for the other files). Thanks. That is interesting. However, the workflow Martin wants to use this is a bit different from this. He wants regular diff3/merge to leave conflicted result and have "xxdiff -U" to sort out the resulting mess (I do that manually myself but without any wrapper). Having said that... > # default merger > if os.system('diff3 -L current -L ancestor -L patched -m -E ' > '"%s" "%s" "%s" > "%s"' > % (branch1, ancestor, branch2, output)): > # interactive merge > if os.path.exists(output): > mtime = os.path.getmtime(output) > else: > mtime = 0 This reminds me that I should make the git barebone porcelain-ish to use diff3 directly without using merge wrapper. I wonder why you do not error out when "if os.path.exists(output)" does not hold true; you are redirecting into it, so the possibilities are: - the filesystem is full; - your quota ran out; - you do not have write permission to the directory "output" wants to be in; - the user gave 'fooled you"; rm -fr . "bye' as the value of sys.argv[4]; etc. No matter what the reason, the fall-back interactive merge would not be able to write into output either anyway, no? Also I wonder what would happen upon a user error where an existing file that is unwritable by the user is specified as output. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 9:26 ` Junio C Hamano @ 2006-08-18 9:56 ` Catalin Marinas 0 siblings, 0 replies; 30+ messages in thread From: Catalin Marinas @ 2006-08-18 9:56 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On 18/08/06, Junio C Hamano <junkio@cox.net> wrote: > Catalin Marinas <catalin.marinas@arm.com> writes: > > In StGIT I can configure the merge command and I currently use the > > attached script (I need to add it to the StGIT repository). It tries > > diff3 first and, if that fails, invokes emacs' merge (can use xxdiff > > as well). It also checks whether the file was modified in case I want > > to exit and solve the conflict later (maybe after getting conflict > > information for the other files). > > Thanks. That is interesting. However, the workflow Martin > wants to use this is a bit different from this. He wants > regular diff3/merge to leave conflicted result and have "xxdiff > -U" to sort out the resulting mess (I do that manually myself > but without any wrapper). The problem with this approach is that you lose the ancestor information. You want "diff3 -E" command to not report conflicts if the changes are the same but the output no longer has the ancestor information. The -A option would keep the ancestor (and use "xxdiff --unmerge3" instead) but it always reports a conflict even if the changes are the same. Are there any diff3 options I missed? That's why I prefer to explicitely pass the 3 files to either emacs or xxdiff. > > # default merger > > if os.system('diff3 -L current -L ancestor -L patched -m -E ' > > '"%s" "%s" "%s" > "%s"' > > % (branch1, ancestor, branch2, output)): > > # interactive merge > > if os.path.exists(output): > > mtime = os.path.getmtime(output) > > else: > > mtime = 0 > > I wonder why you do not error out when "if os.path.exists(output)" > does not hold true; you are redirecting into it, so the possibilities > are: You are right. I was thinking about the file removed in the current branch but modified in the other. However, this would never invoke diff3. Thanks. -- Catalin ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (2 preceding siblings ...) 2006-08-18 8:54 ` Catalin Marinas @ 2006-08-18 8:56 ` Jakub Narebski 2006-08-18 16:40 ` Aneesh Kumar K.V ` (4 subsequent siblings) 8 siblings, 0 replies; 30+ messages in thread From: Jakub Narebski @ 2006-08-18 8:56 UTC (permalink / raw) To: git Junio C Hamano wrote: > * Jeff Garzik reports that the summary page of gitweb does not > look at anything other than "master" which is not appropriate > for his tree. > > Message-ID: <44D874F0.6000907@garzik.org> > > I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, > Aneesh) about this. For performance reasons this should probably wait for functioning git-show-refs command. BTW. summary page doesn't show "Last Updated" based on "master", but based on "HEAD" (current branch)... which usually is "master" I guess in typical usage. Another thing that I think is/might be important to gitweb, is to rewrite commitdiff and blobdiff to not use external diff, but builtin git-diff-tree... this probably would lead to changes in the output. I'm thinking about "-B" without "-C" nor "-M" for plain output (is this no-op for this combination?), and "-C", "-M" for HTML output. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (3 preceding siblings ...) 2006-08-18 8:56 ` Jakub Narebski @ 2006-08-18 16:40 ` Aneesh Kumar K.V 2006-08-18 16:48 ` Jakub Narebski 2006-08-18 17:57 ` Jon Loeliger ` (3 subsequent siblings) 8 siblings, 1 reply; 30+ messages in thread From: Aneesh Kumar K.V @ 2006-08-18 16:40 UTC (permalink / raw) To: git Junio C Hamano wrote: > * Jeff Garzik reports that the summary page of gitweb does not > look at anything other than "master" which is not appropriate > for his tree. > > Message-ID: <44D874F0.6000907@garzik.org> > > I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, > Aneesh) about this. > I just tried editing HEAD. For the project http://git.openssi.org/~kvaneesh/gitweb.cgi?p=ci-to-linus.git;a=summary $more HEAD ref: refs/heads/from-linus $ Is this solution fine ?. Or do we want to add a git-rep-config variable to indicate which branch to show. -aneesh ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 16:40 ` Aneesh Kumar K.V @ 2006-08-18 16:48 ` Jakub Narebski 2006-08-18 17:03 ` Aneesh Kumar K.V 0 siblings, 1 reply; 30+ messages in thread From: Jakub Narebski @ 2006-08-18 16:48 UTC (permalink / raw) To: git Aneesh Kumar K.V wrote: > Junio C Hamano wrote: > >> * Jeff Garzik reports that the summary page of gitweb does not >> look at anything other than "master" which is not appropriate >> for his tree. >> >> Message-ID: <44D874F0.6000907@garzik.org> >> >> I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, >> Aneesh) about this. > > I just tried editing HEAD. For the project > > http://git.openssi.org/~kvaneesh/gitweb.cgi?p=ci-to-linus.git;a=summary > > $more HEAD > ref: refs/heads/from-linus > $ > > Is this solution fine ?. Or do we want to add a git-rep-config > variable to indicate which branch to show. Err, of course gitweb shows "Last Change" for HEAD, which usually is master. The solution would be to show "Last Change" date to be the date of last change of all/any branch. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 16:48 ` Jakub Narebski @ 2006-08-18 17:03 ` Aneesh Kumar K.V 2006-08-18 17:09 ` Jakub Narebski 0 siblings, 1 reply; 30+ messages in thread From: Aneesh Kumar K.V @ 2006-08-18 17:03 UTC (permalink / raw) To: git Jakub Narebski wrote: > Aneesh Kumar K.V wrote: > >> Junio C Hamano wrote: >> >>> * Jeff Garzik reports that the summary page of gitweb does not >>> look at anything other than "master" which is not appropriate >>> for his tree. >>> >>> Message-ID: <44D874F0.6000907@garzik.org> >>> >>> I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, >>> Aneesh) about this. >> I just tried editing HEAD. For the project >> >> http://git.openssi.org/~kvaneesh/gitweb.cgi?p=ci-to-linus.git;a=summary >> >> $more HEAD >> ref: refs/heads/from-linus >> $ >> >> Is this solution fine ?. Or do we want to add a git-rep-config >> variable to indicate which branch to show. > > Err, of course gitweb shows "Last Change" for HEAD, which usually is master. > The solution would be to show "Last Change" date to be the date of last > change of all/any branch. > I didn't quiet understand that. AFAIU what jeff wanted is to make gitweb show some branch other than master by default in the summary page. I guess editing HEAD enables that. -aneesh ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 17:03 ` Aneesh Kumar K.V @ 2006-08-18 17:09 ` Jakub Narebski 0 siblings, 0 replies; 30+ messages in thread From: Jakub Narebski @ 2006-08-18 17:09 UTC (permalink / raw) To: git Aneesh Kumar K.V wrote: > Jakub Narebski wrote: >> Aneesh Kumar K.V wrote: >> >>> Junio C Hamano wrote: >>> >>>> * Jeff Garzik reports that the summary page of gitweb does not >>>> look at anything other than "master" which is not appropriate >>>> for his tree. >>>> >>>> Message-ID: <44D874F0.6000907@garzik.org> >>>> >>>> I probably should bug gitweb gang (Jakub, Luben, Martin Waitz, >>>> Aneesh) about this. >>> I just tried editing HEAD. For the project >>> >>> http://git.openssi.org/~kvaneesh/gitweb.cgi?p=ci-to-linus.git;a=summary >>> >>> $more HEAD >>> ref: refs/heads/from-linus >>> $ >>> >>> Is this solution fine ?. Or do we want to add a git-rep-config >>> variable to indicate which branch to show. >> >> Err, of course gitweb shows "Last Change" for HEAD, which usually is >> master. The solution would be to show "Last Change" date to be the date >> of last change of all/any branch. > > I didn't quiet understand that. AFAIU what jeff wanted is to make > gitweb show some branch other than master by default in the summary page. > I guess editing HEAD enables that. Editing head, well, having other branch checked out would be enough (checked out before push would be enough I guess for gitweb repository being "published repository", other that the copy you are working on). AFAIR the problem was that development was not made at "master", so "Last Changes" were last changes in master, no last changes as a whole. Last changes date as a whole would be last change date of latest edited branch. And for this I'd rather have functioning git-show-refs, for performance (at least with larger number of heads...). -- Jakub Narebski Warsaw, Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (4 preceding siblings ...) 2006-08-18 16:40 ` Aneesh Kumar K.V @ 2006-08-18 17:57 ` Jon Loeliger 2006-08-20 22:17 ` Junio C Hamano 2006-08-23 23:19 ` Unresolved issues #3 Martin Langhoff ` (2 subsequent siblings) 8 siblings, 1 reply; 30+ messages in thread From: Jon Loeliger @ 2006-08-18 17:57 UTC (permalink / raw) To: Junio C Hamano; +Cc: Git List On Thu, 2006-08-17 at 23:09, Junio C Hamano wrote: > As everybody has probably noticed already, I am terrible at > maintaining "the current issues" list. The most recent issue of > this series was done when? Back on May 4th this year. > > Shame on me. I continue to think you are doing a fabulous job nonetheless! > > Here is a list of topics in the recent git traffic that I feel > inadequately addressed, in no particular order. I've commented > on some of them to give people a feel for what my priorities > are. Somebody might want to rehash the ones low on my priority > list to conclusion with a concrete proposal if they cared about > them enough. I have another: git-daemon virtualization so that consistent HTTP and native git protocols can appear to use consistent URLs even in the face of HTTP configurations aliasing them to somewhere else on the filesystem and for multiple virtually hosted domain names. Thanks, jdl ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 17:57 ` Jon Loeliger @ 2006-08-20 22:17 ` Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: prepare for multiple services Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: add upload-tar service Junio C Hamano 0 siblings, 2 replies; 30+ messages in thread From: Junio C Hamano @ 2006-08-20 22:17 UTC (permalink / raw) To: Jon Loeliger; +Cc: git Jon Loeliger <jdl@freescale.com> writes: > I have another: > > git-daemon virtualization so that consistent HTTP and > native git protocols can appear to use consistent URLs > even in the face of HTTP configurations aliasing them > to somewhere else on the filesystem and for multiple > virtually hosted domain names. Good point. Here are a handful others I have about git-daemon: * Possibly add --strict-symlink option we discussed a long time ago that prevents symbolic links inside the named whitelisted directory hierarchies to step outside. Nobody actually jumped up-and-down asking for it since we initially discussed this, so we may not need it after all. * The whitelist directories need to be specified with full path even when --base-path is used, which somewhat felt wrong. I do not have strong feeling about this anymore, though. * Extend $GIT_DIR/git-daemon-export-ok mechanism and have it read from $GIT_DIR/config. * Also extend the same in a way similar to the discussion we had between Aneesh, me and Jakub to control 'blame' and 'snapshot' in gitweb. I.e. allow the site-wide configuration to specify which services are enabled by default and which services can be overridden per repository, and allow per repository configuration to specify what's enabled and what's not. * Add git-upload-tar as a potential program that can be executed from git-daemon. If we are to do the last three items, my thinking is to do something like this: * The config file can have: daemon.upload-pack = yes | no daemon.upload-tar = yes | no to enable or disable the services individually. * $GIT_DIR/git-daemon-export-ok is kept as a backward compatibility measure; it means upload-pack is enabled. If we were to allow git-upload-tar from git-daemon: * Fix protocol exchange between git-upload-tar and git-tar-tree so that the downloader can name the <tree-ish> symbolically like this: git tar-tree --remote=git://git.kernel.org/pub/scm/git/git next Currently the downloader has to get the value of "next" at the remote server out-of-band and give an explicit object name. ^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH] daemon: prepare for multiple services. 2006-08-20 22:17 ` Junio C Hamano @ 2006-08-21 2:09 ` Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: add upload-tar service Junio C Hamano 1 sibling, 0 replies; 30+ messages in thread From: Junio C Hamano @ 2006-08-21 2:09 UTC (permalink / raw) To: git This adds an infrastructure to selectively enable and disable more than one services in git-daemon. Currently upload-pack service, which serves the git-fetch-pack and git-peek-remote clients, is the only service that is defined. Signed-off-by: Junio C Hamano <junkio@cox.net> --- daemon.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 106 insertions(+), 7 deletions(-) diff --git a/daemon.c b/daemon.c index 012936f..0a6cbb4 100644 --- a/daemon.c +++ b/daemon.c @@ -229,13 +229,42 @@ static char *path_ok(char *dir) return NULL; /* Fallthrough. Deny by default */ } -static int upload(char *dir) +typedef int (*daemon_service_fn)(void); +struct daemon_service { + const char *name; + const char *config_name; + daemon_service_fn fn; + int enabled; + int overridable; +}; + +static struct daemon_service *service_looking_at; +static int service_enabled; + +static int git_daemon_config(const char *var, const char *value) +{ + if (!strncmp(var, "daemon.", 7) && + !strcmp(var + 7, service_looking_at->config_name)) { + service_enabled = git_config_bool(var, value); + return 0; + } + + /* we are not interested in parsing any other configuration here */ + return 0; +} + +static int run_service(char *dir, struct daemon_service *service) { - /* Timeout as string */ - char timeout_buf[64]; const char *path; + int enabled = service->enabled; + + loginfo("Request %s for '%s'", service->name, dir); - loginfo("Request for '%s'", dir); + if (!enabled && !service->overridable) { + logerror("'%s': service not enabled.", service->name); + errno = EACCES; + return -1; + } if (!(path = path_ok(dir))) return -1; @@ -257,12 +286,34 @@ static int upload(char *dir) return -1; } + if (service->overridable) { + service_looking_at = service; + service_enabled = -1; + git_config(git_daemon_config); + if (0 <= service_enabled) + enabled = service_enabled; + } + if (!enabled) { + logerror("'%s': service not enabled for '%s'", + service->name, path); + errno = EACCES; + return -1; + } + /* * We'll ignore SIGTERM from now on, we have a * good client. */ signal(SIGTERM, SIG_IGN); + return service->fn(); +} + +static int upload_pack(void) +{ + /* Timeout as string */ + char timeout_buf[64]; + snprintf(timeout_buf, sizeof timeout_buf, "--timeout=%u", timeout); /* git-upload-pack only ever reads stuff, so this is safe */ @@ -270,10 +321,36 @@ static int upload(char *dir) return -1; } +static struct daemon_service daemon_service[] = { + { "upload-pack", "uploadpack", upload_pack, 1, 1 }, +}; + +static void enable_service(const char *name, int ena) { + int i; + for (i = 0; i < ARRAY_SIZE(daemon_service); i++) { + if (!strcmp(daemon_service[i].name, name)) { + daemon_service[i].enabled = ena; + return; + } + } + die("No such service %s", name); +} + +static void make_service_overridable(const char *name, int ena) { + int i; + for (i = 0; i < ARRAY_SIZE(daemon_service); i++) { + if (!strcmp(daemon_service[i].name, name)) { + daemon_service[i].overridable = ena; + return; + } + } + die("No such service %s", name); +} + static int execute(struct sockaddr *addr) { static char line[1000]; - int pktlen, len; + int pktlen, len, i; if (addr) { char addrbuf[256] = ""; @@ -310,8 +387,14 @@ #endif if (len && line[len-1] == '\n') line[--len] = 0; - if (!strncmp("git-upload-pack ", line, 16)) - return upload(line+16); + for (i = 0; i < ARRAY_SIZE(daemon_service); i++) { + struct daemon_service *s = &(daemon_service[i]); + int namelen = strlen(s->name); + if (!strncmp("git-", line, 4) && + !strncmp(s->name, line + 4, namelen) && + line[namelen + 4] == ' ') + return run_service(line + namelen + 5, s); + } logerror("Protocol error: '%s'", line); return -1; @@ -791,6 +874,22 @@ int main(int argc, char **argv) log_syslog = 1; continue; } + if (!strncmp(arg, "--enable=", 9)) { + enable_service(arg + 9, 1); + continue; + } + if (!strncmp(arg, "--disable=", 10)) { + enable_service(arg + 10, 0); + continue; + } + if (!strncmp(arg, "--enable-override=", 18)) { + make_service_overridable(arg + 18, 1); + continue; + } + if (!strncmp(arg, "--disable-override=", 19)) { + make_service_overridable(arg + 19, 0); + continue; + } if (!strcmp(arg, "--")) { ok_paths = &argv[i+1]; break; -- 1.4.2.g0cac8 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH] daemon: add upload-tar service. 2006-08-20 22:17 ` Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: prepare for multiple services Junio C Hamano @ 2006-08-21 2:09 ` Junio C Hamano 1 sibling, 0 replies; 30+ messages in thread From: Junio C Hamano @ 2006-08-21 2:09 UTC (permalink / raw) To: git This allows clients to ask for tarballs with: git tar-tree --remote=git://server/repo refname By default, the upload-tar service is not enabled. To enable it server-wide, the server can be started with: git-daemon --enable=upload-tar This service is by default overridable per repostiory, so alternatively, a repository can define "daemon.uploadtar = true" to enable it. Signed-off-by: Junio C Hamano <junkio@cox.net> --- daemon.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/daemon.c b/daemon.c index 0a6cbb4..5549014 100644 --- a/daemon.c +++ b/daemon.c @@ -321,8 +321,15 @@ static int upload_pack(void) return -1; } +static int upload_tar(void) +{ + execl_git_cmd("upload-tar", ".", NULL); + return -1; +} + static struct daemon_service daemon_service[] = { { "upload-pack", "uploadpack", upload_pack, 1, 1 }, + { "upload-tar", "uploadtar", upload_tar, 0, 1 }, }; static void enable_service(const char *name, int ena) { -- 1.4.2.g0cac8 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (5 preceding siblings ...) 2006-08-18 17:57 ` Jon Loeliger @ 2006-08-23 23:19 ` Martin Langhoff 2006-08-25 21:22 ` Jakub Narebski 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano 8 siblings, 0 replies; 30+ messages in thread From: Martin Langhoff @ 2006-08-23 23:19 UTC (permalink / raw) To: Junio C Hamano; +Cc: git On 8/18/06, Junio C Hamano <junkio@cox.net> wrote: > As everybody has probably noticed already, I am terrible at > maintaining "the current issues" list. The most recent issue of > this series was done when? Back on May 4th this year. > > Shame on me. Hey, I think you're doing a great job. A small improvement may be to copy these to the wiki for longer term, but we're all lazy about maintaining them. Perhaps at least have a TODO page? How about what I just placed in http://git.or.cz/gitwiki/ToDo ? A link to the 'todo' head, and to a search for 'Unresolved Issues' in the list archives... Should give newcomers a hint of where things are, and how to gauge directions and interests... martin ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #3 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (6 preceding siblings ...) 2006-08-23 23:19 ` Unresolved issues #3 Martin Langhoff @ 2006-08-25 21:22 ` Jakub Narebski 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano 8 siblings, 0 replies; 30+ messages in thread From: Jakub Narebski @ 2006-08-25 21:22 UTC (permalink / raw) To: git There was a thread about system-wide and per-user git configuration. Some patches were accepted... but it is nowhere documented. Not all ideas are incorporated in git. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 30+ messages in thread
* Unresolved issues #4 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano ` (7 preceding siblings ...) 2006-08-25 21:22 ` Jakub Narebski @ 2006-10-06 6:26 ` Junio C Hamano 2006-10-06 10:56 ` Jakub Narebski ` (3 more replies) 8 siblings, 4 replies; 30+ messages in thread From: Junio C Hamano @ 2006-10-06 6:26 UTC (permalink / raw) To: git Recent issues I am aware of but haven't kept track of closely enough and as a result do not have a clue about X-<. From: A Large Angry SCM <gitzilla@gmail.com> Subject: Notes on Using Git with Subprojects Message-ID: <45196628.9010107@gmail.com> [jc: a very nice write-up of a subprojects workflow. I do not remember if it produced any actionable items, though] From: Franck Bui-Huu <vagabon.xyz@gmail.com> Message-ID: <450EABD0.1040102@innova-card.com> Repeated requests against git-daemon makes it stuck [jc: does not reproduce easily for me; has anybody seen it?] From: Shawn Pearce <spearce@spearce.org> Message-ID: <20060926215745.GC8177@spearce.org> git-mirror (reverse of git-push --all). [jc: any progress?] From: Junio C Hamano <junkio@cox.net> Message-ID: <7v7izrzpk2.fsf@assigned-by-dhcp.cox.net> Deal with rfc2822-invalid author mail address in send-email. [jc: forgot to apply?] From: Nicolas Pitre <nico@cam.org> Subject: [PATCH 8/6] let the GIT native protocol use offsets to delta base when [jc: applied all but I suspect git-push side hasn't been converted?] From: Shawn Pearce <spearce@spearce.org> Message-ID: <20060930045037.GB18479@spearce.org> "git ref-log" command to interact with ref-log? [jc: not much interest from users?] From: Stefan Richter <stefanr@s5r6.in-berlin.de> Message-ID: <4523EC14.6070806@s5r6.in-berlin.de> AsciiDoc 8 does not grok documents written for AsciiDoc 7 out of the box. [jc: status?] From: Josh Triplett <josh@freedesktop.org> Message-ID: <451A30E4.50801@freedesktop.org> git-split [jc: no response to the initial review comments] ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #4 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano @ 2006-10-06 10:56 ` Jakub Narebski 2006-10-06 16:11 ` Shawn Pearce 2006-10-06 16:04 ` Jon Loeliger ` (2 subsequent siblings) 3 siblings, 1 reply; 30+ messages in thread From: Jakub Narebski @ 2006-10-06 10:56 UTC (permalink / raw) To: git Junio C Hamano wrote: > Recent issues I am aware of but haven't kept track of closely > enough and as a result do not have a clue about X-<. > > From: A Large Angry SCM <gitzilla@gmail.com> > Subject: Notes on Using Git with Subprojects > Message-ID: <45196628.9010107@gmail.com> > > [jc: a very nice write-up of a subprojects workflow. I do not > remember if it produced any actionable items, though] It did produce two workflows: the original "build time" by A Large Angry SCM/Gitzilla, which I think is/will be available at http://git.rsbx.net/Notes/Git_Subprojects.txt and second using linked objects and refs. Both I think not quite finished; perhaps some of the code could be put in 'pu'. Perhaps to be added to Subpro.txt in 'todo' branch, and/or to git wiki... > From: Shawn Pearce <spearce@spearce.org> > Message-ID: <20060930045037.GB18479@spearce.org> > > "git ref-log" command to interact with ref-log? > > [jc: not much interest from users?] I thing it can increase number of reflog users. > From: Josh Triplett <josh@freedesktop.org> > Message-ID: <451A30E4.50801@freedesktop.org> > > git-split Should be git-split-hierarchy or git-split-by-directory I think. We could have also git-split-history, which would split current history into archive repository, and active repository with archive repository grafted in; or add to archive repository if it exists, regraft active (current work) repository and prune below new grafts. > [jc: no response to the initial review comments] It is "done once" problem, and usable only for some repositories, so perhaps this is the cause of not many responses. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #4 2006-10-06 10:56 ` Jakub Narebski @ 2006-10-06 16:11 ` Shawn Pearce 0 siblings, 0 replies; 30+ messages in thread From: Shawn Pearce @ 2006-10-06 16:11 UTC (permalink / raw) To: Jakub Narebski; +Cc: git Jakub Narebski <jnareb@gmail.com> wrote: > > From: Shawn Pearce <spearce@spearce.org> > > Message-ID: <20060930045037.GB18479@spearce.org> > > > > "git ref-log" command to interact with ref-log? > > > > [jc: not much interest from users?] > > I thing it can increase number of reflog users. Agreed and I'd really like to see that command but I have not had the time to do code it myself. What time I am able to make available for Git in the near future needs to be for the window mmap rewrite ontop of Nico's delta offset changes that are currently in next. If nobody gets around to it I'll likely try to pick it up and do it, but that probably won't be for at least a month, maybe two. -- Shawn. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #4 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano 2006-10-06 10:56 ` Jakub Narebski @ 2006-10-06 16:04 ` Jon Loeliger 2006-10-06 16:12 ` Shawn Pearce 2006-10-06 16:53 ` A Large Angry SCM 3 siblings, 0 replies; 30+ messages in thread From: Jon Loeliger @ 2006-10-06 16:04 UTC (permalink / raw) To: Junio C Hamano; +Cc: Git List On Fri, 2006-10-06 at 01:26, Junio C Hamano wrote: > From: Franck Bui-Huu <vagabon.xyz@gmail.com> > Message-ID: <450EABD0.1040102@innova-card.com> > > Repeated requests against git-daemon makes it stuck > > [jc: does not reproduce easily for me; has anybody seen it?] I've not seen that behavior either. However, I suspect that this might be a poorly described issue with _clients_ that are out of date. Specifically, if a client is older than 1.4.2.1, it shows up in the git-daemon log as just a single "connection from <ipaddr>" line and no actual transfer then happens, making it perhaps appear "stuck". jdl ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #4 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano 2006-10-06 10:56 ` Jakub Narebski 2006-10-06 16:04 ` Jon Loeliger @ 2006-10-06 16:12 ` Shawn Pearce 2006-10-06 16:53 ` A Large Angry SCM 3 siblings, 0 replies; 30+ messages in thread From: Shawn Pearce @ 2006-10-06 16:12 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Junio C Hamano <junkio@cox.net> wrote: > From: Shawn Pearce <spearce@spearce.org> > Message-ID: <20060926215745.GC8177@spearce.org> > > git-mirror (reverse of git-push --all). > > [jc: any progress?] No. Back burner. Waaaaaaay back. I have your comments and I'd like to incorporate them and resubmit but I've had other things demanding my time. -- Shawn. ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Unresolved issues #4 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano ` (2 preceding siblings ...) 2006-10-06 16:12 ` Shawn Pearce @ 2006-10-06 16:53 ` A Large Angry SCM 3 siblings, 0 replies; 30+ messages in thread From: A Large Angry SCM @ 2006-10-06 16:53 UTC (permalink / raw) To: git; +Cc: Junio C Hamano Junio C Hamano wrote: > Recent issues I am aware of but haven't kept track of closely > enough and as a result do not have a clue about X-<. > > From: A Large Angry SCM <gitzilla@gmail.com> > Subject: Notes on Using Git with Subprojects > Message-ID: <45196628.9010107@gmail.com> > > [jc: a very nice write-up of a subprojects workflow. I do not > remember if it produced any actionable items, though] > No actionable items that I'm aware of. ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2006-10-06 16:53 UTC | newest] Thread overview: 30+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-08-18 4:09 Unresolved issues #3 Junio C Hamano 2006-08-18 4:49 ` A Large Angry SCM 2006-08-18 14:49 ` Nicolas Pitre 2006-08-18 14:56 ` A Large Angry SCM 2006-08-18 15:30 ` Nicolas Pitre 2006-08-19 4:04 ` A Large Angry SCM 2006-08-20 23:10 ` Nicolas Pitre 2006-08-20 23:26 ` Junio C Hamano 2006-08-21 4:05 ` A Large Angry SCM 2006-08-18 5:10 ` Jeff King 2006-08-18 8:54 ` Catalin Marinas 2006-08-18 9:26 ` Junio C Hamano 2006-08-18 9:56 ` Catalin Marinas 2006-08-18 8:56 ` Jakub Narebski 2006-08-18 16:40 ` Aneesh Kumar K.V 2006-08-18 16:48 ` Jakub Narebski 2006-08-18 17:03 ` Aneesh Kumar K.V 2006-08-18 17:09 ` Jakub Narebski 2006-08-18 17:57 ` Jon Loeliger 2006-08-20 22:17 ` Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: prepare for multiple services Junio C Hamano 2006-08-21 2:09 ` [PATCH] daemon: add upload-tar service Junio C Hamano 2006-08-23 23:19 ` Unresolved issues #3 Martin Langhoff 2006-08-25 21:22 ` Jakub Narebski 2006-10-06 6:26 ` Unresolved issues #4 Junio C Hamano 2006-10-06 10:56 ` Jakub Narebski 2006-10-06 16:11 ` Shawn Pearce 2006-10-06 16:04 ` Jon Loeliger 2006-10-06 16:12 ` Shawn Pearce 2006-10-06 16:53 ` A Large Angry SCM
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).