1. 16 6月, 2012 1 次提交
  2. 14 6月, 2012 4 次提交
  3. 13 6月, 2012 3 次提交
  4. 12 6月, 2012 7 次提交
  5. 10 6月, 2012 3 次提交
    • J
      git-svn: use YAML format for mergeinfo cache when possible · 68f532f4
      Jonathan Nieder 提交于
      Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30),
      git-svn has maintained some private per-repository caches in
      .git/svn/.caches to avoid refetching and recalculating some
      mergeinfo-related information with every "git svn fetch".
      
      These caches use the 'nstore' format from the perl core module
      Storable, which can be read and written quickly and was designed for
      transfer over the wire (the 'n' stands for 'network').  This format is
      endianness-independent and independent of floating-point
      representation.
      
      Unfortunately the format is *not* independent of the perl version ---
      new perl versions will write files that very old perl cannot read.
      Worse, the format is not independent of the size of a perl integer.
      So if you toggle perl's use64bitint compile-time option, then using
      'git svn fetch' on your old repositories produces errors like this:
      
      	Byte order is not compatible at ../../lib/Storable.pm (autosplit
      	into ../../lib/auto/Storable/_retrieve.al) line 380, at
      	/usr/share/perl/5.12/Memoize/Storable.pm line 21
      
      That is, upgrading perl to a version that uses use64bitint for the
      first time makes git-svn suddenly refuse to fetch in existing
      repositories.  Removing .git/svn/.caches lets git-svn recover.
      
      It's time to switch to a platform independent serializer backend with
      better compatibility guarantees.  This patch uses YAML::Any.
      
      Other choices were considered:
      
       - thawing data from Data::Dumper involves "eval".  Doing that without
         creating a security risk is fussy.
      
       - the JSON API works on scalars in memory and doesn't provide a
         standard way to serialize straight to disk.
      
      YAML::Any is reasonably fast and has a pleasant API.  In most
      backends, LoadFile() reads the entire file into a scalar anyway and
      converts it as a second step, but having an interface that allows the
      deserialization to happen on the fly without a temporary is still a
      comfort.
      
      YAML::Any is not a core perl module, so we take care to use it when
      and only when it is available.  Installations without that module
      should fall back to using Storable with all its quirks, keeping their
      cache files in
      
      	.git/svn/.caches/*.db
      
      Installations with YAML peacefully coexist by keeping a separate set
      of cache files in
      
      	.git/svn/.caches/*.yaml.
      
      In most cases, switching between is a one-time thing, so it doesn't
      seem worth the complication to migrate existing caches.
      
      The upshot: after this patch, as long as YAML::Any is installed you
      can move your git repository between machines with different perl
      installations and "git svn fetch" will work fine.  If you do not have
      YAML::Any, the behavior is unchanged (and in particular does not get
      any worse).
      Reported-by: NSandro Weiser <sandro.weiser@informatik.tu-chemnitz.de>
      Reported-by: NBdale Garbee <bdale@gag.com>
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      68f532f4
    • J
      git-svn: make Git::SVN::RA a separate file · 9f7ad147
      Jonathan Nieder 提交于
      This slices off another 600 or so lines from the frighteningly long
      git-svn.perl script.
      
      The Git::SVN::Ra interface is similar enough to SVN::Ra that it is
      probably safe to ignore most of its implementation on first reading.
      (Documenting or moving functions that do not fit that pattern is left
      as an exercise to the interested reader.)
      
      [ew: rebased and fixed conflict against
       commit c26ddce8
       (git-svn: platform auth providers are working only on 1.6.15 or newer)]
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      9f7ad147
    • J
      git-svn: make Git::SVN::Editor a separate file · 8f9facfe
      Jonathan Nieder 提交于
      This makes the git-svn script shorter and less scary for beginners to
      read through for the first time.  Take the opportunity to explain the
      purpose and basic interface of the Git::SVN::Editor class while at it.
      Signed-off-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      8f9facfe
  6. 09 6月, 2012 1 次提交
  7. 08 6月, 2012 9 次提交
  8. 07 6月, 2012 1 次提交
    • J
      fmt-merge-msg: make attribution into comment lines · 9830a9ca
      Junio C Hamano 提交于
      The submaintainer credit is not something you can compute purely by
      looking at the history and its shape, especially in the presense of
      fast-forward merges, and this observation makes the information on
      the "via" line unreliable.  Let's leave the final determination of
      credits up to whoever is making the merge and show them as comments.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9830a9ca
  9. 06 6月, 2012 1 次提交
    • J
      Merge git://github.com/git-l10n/git-po · f623ca1c
      Junio C Hamano 提交于
      German and Chinese translation updates.
      
      By Ralf Thielow (4) and others
      via Jiang Xin (1) and Tran Ngoc Quan (1)
      * git://github.com/git-l10n/git-po:
        l10n: Update translation for Vietnamese
        l10n: de.po: add additional newline
        l10n: de.po: translate 2 new, 3 fuzzy messages
        l10n: de.po: translate 41 new messages
        l10n: de.po: translate 265 new messages
        l10n: zh_CN.po: translate 2 new, 3 fuzzy messages
        l10n: Update git.pot (5 new, 3 removed messages)
      f623ca1c
  10. 05 6月, 2012 6 次提交
  11. 04 6月, 2012 4 次提交