git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer

From
Shawn O. Pearce <spearce@spearce.org>
Date
Feb 16, 2007, 07:45 UTC
Message-ID
<20070216074503.GH28894@spearce.org>
In-Reply-To
<7v4ppma788.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano <junkio@cox.net> wrote:
Show 16 quoted lines
> "Shawn O. Pearce" <spearce@spearce.org> writes:
> > Mark Levedahl <mdl123@verizon.net> wrote:
> >> +        # update only if non-fastforward
> >> +        local=$(git-rev-parse --verify "$ref^0" 2>/dev/null)
> >> ...
> >> +        git-update-ref -m "git-unbundle update" $ref $sha1
> >
> > What about passing $local as the final argument to update-ref,
> > so that the ref won't be modified if someone changed it while
> > an unbundle was running?  Sure its mostly a manual operation,
> > but imagine running it on a bare repository while someone else
> > is pushing into it...
> 
> The script already has $local at that point, so adding it to
> update-ref is a no-cost change to make things safer.  I think it
> makes sense.
Actually that's only if --force was not given.  If --force was
given, rev-parse wasn't run, so local is not populated.  So maybe
its not trivial.
 
> But I have to wonder...  While someone else is _pushing_ into
> it?  Why are _you_ sneakernetting, then?

People do weird things. I agree, its probably unlikely to ever happen. But give a user a length of rope, they will find a way to hang themselves...

I can see someone trying to use an update hook with bundle/unbundle to move stuff from one repository to another, despite the fact that are better ways to do that. Better that we fail when an update might lose changes.

-- 
Shawn.
Previous: Junio C HamanoNext: Mark Levedahl
Message 13 of 22 in “Respun - Scripts to use bundles to move data between repos”
  1. Mark LevedahlFeb 16, 2007
  2. Add git-bundle - pack objects and references for disconnected transferMark Levedahl, Feb 16, 2007
  3. Add git-unbundle - unpack objects and references for disconnected transferMark Levedahl, Feb 16, 2007
  4. Include git-bundle and git-unbundle in Makefile.Mark Levedahl, Feb 16, 2007
  5. Create documentation for git-bundle.Mark Levedahl, Feb 16, 2007
  6. Create documentation for git-unbundle.Mark Levedahl, Feb 16, 2007
  7. Link git-bundle and git-unbundle docs from git(7).Mark Levedahl, Feb 16, 2007
  8. Junio C HamanoFeb 16, 2007
  9. Linus TorvaldsFeb 16, 2007
  10. Add git-unbundle - unpack objects and references for disconnected transferMark Levedahl, Feb 16, 2007
  11. Shawn O. PearceFeb 16, 2007
  12. Junio C HamanoFeb 16, 2007
  13. Shawn O. PearceFeb 16, 2007
  14. Mark LevedahlFeb 16, 2007
  15. Junio C HamanoFeb 16, 2007
  16. Junio C HamanoFeb 16, 2007
  17. Shawn O. PearceFeb 16, 2007
  18. Junio C HamanoFeb 16, 2007
  19. Add git-bundle - pack objects and references for disconnected transferMark Levedahl, Feb 16, 2007
  20. Shawn O. PearceFeb 16, 2007
  21. Simon 'corecode' SchubertFeb 16, 2007
  22. Shawn O. PearceFeb 16, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.