git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] archimport improvements
@ 2005-11-12  9:23 Eric Wong
  2005-11-12  9:25 ` [PATCH 1/5] remove shellquote usage for tags Eric Wong
                   ` (2 more replies)
  0 siblings, 3 replies; 39+ messages in thread
From: Eric Wong @ 2005-11-12  9:23 UTC (permalink / raw)
  To: Martin Langhoff; +Cc: git list

Hello,

I'm another Arch-user trying out git.  Unfortunately, I encountered
several problems with git-archimport that I needed fixed before my
development trees could be imported into git.

Here's a summary of the changes:

Bug Fixes:

* Support for '--branch'-less Arch version names.
  Encoding '/' to '--' (as was previously done) is not 100% reversable
  because the "--branch" portion of an fully-qualified Arch version name
  is optional (though not many people or Arch-related tools know this).

* I'm encoding the '/' in the fully-qualified name as ',' to not confuse
  other porcelains, but leaving '/' in branch names may be alright
  provided porcelains can support them.

* Identify git branches as an Arch "archive,category<--branch>--version"
  Anything less than that is ambiguous as far as history and patch
  relationships go.

* Renamed directories containing renamed/moved files inside didn't get
  tracked properly.  The original code was inadequate for this, and
  making it support all rename cases that Arch supports is too much
  work.  Instead, I maintain full-blown Arch trees in the temp dir and
  replay patches + rsync based on that.  Performance is slightly slower
  than before, but accuracy is more important to me.

* Permission (execute bit only because of git) tracking as a side effect
  of the above.

* Tracking changes from branches that are only cherry-picked now works

* Pika-escaped filenames unhandled.  This seems fixed in the latest
  git, but I fixed it more generally and removed the ShellQuote module
  dependency along the way.

* Don't die() when a merge-base can't be found.  Arch supports
  merging between unrelated trees.


Usability enhancements:

* Optionally detect merged branches and attempt to import their history,
  too.  Use the -D <depth> option for this.  Specifying a <depth>
  greater than 1 is usually not needed unless the tree you're tracking
  has had history pruned.
  
* Optionally attempt to auto-register unknown Arch archives from
  mirrors.sourcecontrol.net to pull their history with the -a (boolean)
  switch.  Not sure how useful users will find this.

* Removed -A <archive> usage (unnecessary in all cases) and made all
  Arch calls and output parsing to be compatible with both tla (tested
  1.3.3) and baz (1.4.2).  Default is still tla, but the ARCH_CLIENT
  environment variable may be changed to baz.


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.

-- 
Eric Wong

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2005-12-05 18:53 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-12  9:23 [PATCH] archimport improvements Eric Wong
2005-11-12  9:25 ` [PATCH 1/5] remove shellquote usage for tags Eric Wong
2005-11-12  9:27   ` [PATCH 2/5] archimport: don't die on merge-base failure Eric Wong
2005-11-12  9:29     ` [PATCH 3/5] Disambiguate the term 'branch' in Arch vs git Eric Wong
2005-11-12  9:30       ` [PATCH 4/5] Overhaul of changeset application Eric Wong
2005-11-12  9:32         ` [PATCH 5/5] -D <depth> option to recurse into merged branches Eric Wong
2005-11-14  2:01           ` Eric Wong
2005-11-12 12:07         ` [PATCH 4/5] Overhaul of changeset application Martin Langhoff
2005-11-12 20:49           ` Eric Wong
2005-11-12 11:54 ` [PATCH] archimport improvements Martin Langhoff
2005-11-12 20:21   ` Eric Wong
2005-11-14 22:38     ` Martin Langhoff
2005-11-15  8:03       ` Eric Wong
2005-11-15  8:05         ` [PATCH 1/2] archimport: allow for old style branch and public tag names Eric Wong
2005-11-15  8:06           ` [PATCH 2/2] archimport: sync_to_ps() messages for tracking tla methods Eric Wong
2005-11-15  8:07           ` [PATCH 1/2] archimport: allow for old style branch and public tag names Eric Wong
2005-11-17  9:26 ` [PATCH] archimport improvements Martin Langhoff
2005-11-24  7:46   ` Eric Wong
2005-11-24  7:47     ` [PATCH 1/9] archimport: first, make sure it still compiles Eric Wong
2005-11-24  7:48       ` [PATCH 2/9] remove String::ShellQuote dependency Eric Wong
2005-11-24  7:50         ` [PATCH 3/9] fix -t tmpdir switch Eric Wong
2005-11-24  7:51           ` [PATCH 4/9] remove git wrapper dependency Eric Wong
2005-11-24  7:52             ` [PATCH 5/9] add -D <depth> and -a switch Eric Wong
2005-11-24  7:53               ` [PATCH 6/9] safer log file parsing Eric Wong
2005-11-24  7:55                 ` [PATCH 7/9] Add the accurate changeset applyer Eric Wong
2005-11-24  7:56                   ` [PATCH 8/9] Fix a bug I introduced in the new log parser Eric Wong
2005-11-24  7:58                     ` [PATCH 9/9] fix a in new changeset applyer addition Eric Wong
2005-11-27  4:24                   ` [PATCH 7/9] Add the accurate changeset applyer Martin Langhoff
2005-11-27  5:43                     ` Eric Wong
2005-12-01 17:02                   ` Martin Langhoff
2005-12-03  2:51                     ` Eric Wong
2005-12-05 18:53                       ` Martin Langhoff
2005-11-24  8:20             ` [PATCH 4/9] remove git wrapper dependency Andreas Ericsson
2005-11-24  8:35               ` Junio C Hamano
2005-11-24  8:50                 ` Eric Wong
2005-11-24 18:54       ` [PATCH 1/9] archimport: first, make sure it still compiles Linus Torvalds
2005-11-26 10:51         ` Martin Langhoff
2005-11-26 20:43         ` Eric Wong
2005-11-24  9:25     ` [PATCH] archimport improvements Martin Langhoff

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).