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

Re: [PATCH] archimport improvements

From
EWEric Wong <normalperson@yhbt.net>
Date
Nov 15, 2005, 08:03 UTC
Message-ID
<20051115080352.GG7484@mail.yhbt.net>
In-Reply-To
<46a038f90511141438q1d85d429vedcf2a3b54d761e1@mail.gmail.com>
Martin Langhoff <martin.langhoff@gmail.com> wrote:
Show 11 quoted lines
> Eric,
> 
> thanks for resending those so quickly. I think I'm going to sit on the
> 'overhaul of changeset application' patch a bit -- I'll test & ack
> your other patches for merge soonish but I want to review and test
> this one carefully.
> 
> My main concern is that it seems to be calling tla get for each
> revision that it imports. For large trees, this is slow. I would be
> much happier with a fast Perl-based approach. Have you got a public
> repo with directory renames?

Please read my sync_to_ps() function very carefully. Next is a patch that helps you track which Arch command (get/replay/apply-delta) is used for each changeset.

tla replay is the most common for any halfway normal (changeset-based) tree by far.

tla get is not called any more often than before.

apply-delta is hardly, if ever called. It may not even be reachable unless somebody commits revisions to the same tree with clocks out of order from patchlevel order. Heck, if it's ever called, it's most likely faster just to rmtree and tla get again.

Unfortunately, my heavily used and abused trees are private.
Show 17 quoted lines
> Additional comments follow...
> 
> On 11/13/05, Eric Wong <normalperson@yhbt.net> wrote:
> > > > * Identify git branches as an Arch "archive,category<--branch>--version"
> > > >   Anything less than that is ambiguous as far as history and patch
> > > >   relationships go.
> > >
> > > These bug/sanity fixes are _good_. As you mention, I wasn't aware that
> > > patchnames could show up not having a --branch part. Tricky...
> >
> > Thanks.  I got lazy one day and started ignoring --branch on some of my
> > personal projects to save my fingers :)
> 
> Yup, makes sense. My concern now is that existing imports will change
> the name of branches and tags going forward. Can I ask you to resend
> that patch with the new branchname mangling as default, and the old
> one as optional?

Ok, good idea. My previous patch already automatically converted the private tags, which we actually need to parse, and I see no reason to change that, but branch names and public tags which affect non-gitarchimport users can be preserved with the -o flag.

> I know it'll force us to go back to using shellquote, but I am not too
> worried by that dependency at the moment.
 
Actually, usage of shell_quote() in git-archimport was always
unnecessary.  Passing arguments to external programs as an array,
using the 3-argument version of open() for files, and using -z in
git-commands with pipes are better ways to go.
Show 13 quoted lines
> > > > Current weaknesses:
> > > >
> > > > * (Present in the original code as well).
> > > >   The code still assumes that dates in commit logs can be trusted, which is
> > > >   fine in most cases, but a wayward branch can screw up git-archimport and
> > > >   cause parents to be missed.
> > >
> > > Fair enough. You mention an alternative strategy (tla ancestry) --
> > > have you tried it at all?
> >
> > No, not yet.
> 
> Also interested in this if you get around to it.

It's not a high priority for me and I probably don't have time to do this.

-- 
Eric Wong
Previous: Martin LanghoffNext: Eric Wong
Message 13 of 39 in “archimport improvements”
  1. archimport improvementsEric Wong, Nov 12, 2005
  2. 1/5 remove shellquote usage for tagsEric Wong, Nov 12, 2005
  3. 2/5 archimport: don't die on merge-base failureEric Wong, Nov 12, 2005
  4. 3/5 Disambiguate the term 'branch' in Arch vs gitEric Wong, Nov 12, 2005
  5. 4/5 Overhaul of changeset applicationEric Wong, Nov 12, 2005
  6. 5/5 -D <depth> option to recurse into merged branchesEric Wong, Nov 12, 2005
  7. Eric WongNov 14, 2005
  8. Martin LanghoffNov 12, 2005
  9. Eric WongNov 12, 2005
  10. Martin LanghoffNov 12, 2005
  11. Eric WongNov 12, 2005
  12. Martin LanghoffNov 14, 2005
  13. Eric WongNov 15, 2005
  14. 1/2 archimport: allow for old style branch and public tag namesEric Wong, Nov 15, 2005
  15. 2/2 archimport: sync_to_ps() messages for tracking tla methodsEric Wong, Nov 15, 2005
  16. Eric WongNov 15, 2005
  17. Martin LanghoffNov 17, 2005
  18. Eric WongNov 24, 2005
  19. 1/9 archimport: first, make sure it still compilesEric Wong, Nov 24, 2005
  20. 2/9 remove String::ShellQuote dependency.Eric Wong, Nov 24, 2005
  21. 3/9 fix -t tmpdir switchEric Wong, Nov 24, 2005
  22. 4/9 remove git wrapper dependencyEric Wong, Nov 24, 2005
  23. 5/9 add -D <depth> and -a switchEric Wong, Nov 24, 2005
  24. 6/9 safer log file parsingEric Wong, Nov 24, 2005
  25. 7/9 Add the accurate changeset applyerEric Wong, Nov 24, 2005
  26. 8/9 Fix a bug I introduced in the new log parserEric Wong, Nov 24, 2005
  27. 9/9 fix a in new changeset applyer additionEric Wong, Nov 24, 2005
  28. Martin LanghoffNov 27, 2005
  29. Eric WongNov 27, 2005
  30. Martin LanghoffDec 1, 2005
  31. Eric WongDec 3, 2005
  32. Martin LanghoffDec 5, 2005
  33. Andreas EricssonNov 24, 2005
  34. Junio C HamanoNov 24, 2005
  35. Eric WongNov 24, 2005
  36. Linus TorvaldsNov 24, 2005
  37. Martin LanghoffNov 26, 2005
  38. Eric WongNov 26, 2005
  39. Martin LanghoffNov 24, 2005

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.