1. 20 Jun, 2019 5 commits
  2. 04 Apr, 2019 1 commit
    • Guillem Jover's avatar
      smart-change: Add new --modified and --commit options · 97729276
      Guillem Jover authored
      This should help work off the VCS.
      
      The --modified option helps with the following workflow:
      
        1) Modify english version; commit.
        2) Modify translations; use smart_change with -m; commit.
      
      The --commit option helps with the following workflow:
      
        1) Modify english version; commit.
        2) Modify translations; commit.
        3) Use smart_change with -c from 2); commit.
      97729276
  3. 03 Apr, 2019 1 commit
  4. 02 Apr, 2019 1 commit
  5. 12 Jun, 2018 1 commit
    • Steve McIntyre's avatar
      YA attempt to fix up our list of git hashes for the webwml repo · 1ebfaaad
      Steve McIntyre authored
      The bugs I've been seeing were not consistent, which was annoying...
      
      Listing all merge commits left us with phantom commits showing up due
      to merge noise. Leaving out all the merge commits caused us to miss a
      load of the older commits. Eureka!
      
      The problem *seems* to be the way that the old CVS commits have been
      converted into git commits. Lots of them show up as merge commits due
      to the way cvs2git worked. So we *do* need to include merge commits
      there. However, we *don't* want to include merge commits for the stuff
      that's been committed directly into git after the transition.
      
      So, there's a hacky solution which actually seems to work well! Call
      "git log" twice:
      
       * Once on the newer commits, without the merge commits
       * Once on the older commits, including merge commits
      
      I've encoded the knowledge of the point where the conversion happened
      so we can do this. The results look good, and we seem to have a clean
      set of commit hashes all over our history.
      
      There are a few translated files that I'll need to fix after this
      change - places where the translators were misled into updating their
      translation-check headers due to the old broken behaviour. Sorry! :-/
      1ebfaaad
  6. 10 Jun, 2018 1 commit
  7. 08 Jun, 2018 1 commit
    • Steve McIntyre's avatar
      YA fix for the "git log" parsing · c32739b3
      Steve McIntyre authored
      We need to use "-m" to make sure we see all the changes around
      merges, *but* that also gives us noise from the "right-hand" of merges
      which can cause confusion - some files will end up shown as being
      changed when they actually weren't.
      
      Track each commit hash we look at, and only save the details
      the *first* time we see each commit hash. Seems to make all the
      difference.
      c32739b3
  8. 06 Jun, 2018 3 commits
  9. 05 Jun, 2018 3 commits
    • Steve McIntyre's avatar
      Move locking into the cache build utility · f035d5bf
      Steve McIntyre authored
      Stop having multiple copies of it all calling git in parallel
      f035d5bf
    • Steve McIntyre's avatar
      Add support for a simple on-disk cache of git revs · 3912e386
      Steve McIntyre authored
      We can't rely on having a full cache in memory, so add support for
      dumping the cache to disk, and retrieving results later. After calling
      cache_repo(), call save_cache_to_database() to dump the cache. This
      will dump a list of the git revs and commit dates for each file in the
      repo to disk (one per file), so we can easily look things up later
      without having to call git again.
      
      Initially attempted to do this with a sqlite database, but it didn't
      improve performance when doing a large parallel make - if anything, it
      was slower than calling git all the time.
      
      Rough timing comparisons on my 4-core laptop with an SSD, all doing:
      
      $ make clean
      $ time make -j8
      
      in webwml/german/devel/debian-installer/News...
      
       * without any cache:            85s
       * with sqlite cache:           120s
       * with this simple list cache:  13s
      
      The cache *does* take quite a bit of space, currently around
      300MB. But it's such a big win that I think it's worth it...
      3912e386
    • Steve McIntyre's avatar
      Fix up chained new() calls · fc69476a
      Steve McIntyre authored
      Shift out the first arg so we don't pollute the namespace of the
      module underneath us.
      fc69476a
  10. 31 May, 2018 6 commits
  11. 30 May, 2018 2 commits
    • Steve McIntyre's avatar
      Major updates to perl scripts · afdb2973
      Steve McIntyre authored
      Add new git backend in VCS_git.pm
      
      Switch from an old-style set of function calls to an OO API. This
      allows for initialisation and some state to be kept in the VCS_git.pm
      module - namely a per-file cache of commit hashes for a massive
      performance boost when doing lots of lookups.
      
      Extend the API with 2 new utility functions:
       * get_oldest_revision()
       * next_revision()
      
      Extended the vcs_cmp_rev() function to take a filename too.
      
      Add a test harness to validate the git and cvs backends.
      
      Add switch_to_git_translations.pl to walk the tree and switch from cvs
      revisions to git commit hashes in translation-check headers.
      
      Change all of our local scripts to use the new Local::VCS frontend
      *where it makes sense*. Some scripts will behave slightly differently,
      as the new world can't exactly match the old behaviour.
      
      CVS version numbers
      
      check_desc_trans.pl: 1.9 -> 1.10 
      check_trans.pl: 1.93 -> 1.94 
      copypage.pl: 1.42 -> 1.43 
      karma.pl: 1.6 -> 1.7 
      remove_stale.pl: 1.22 -> 1.23 
      smart_change.pl: 1.8 -> 1.9 
      stattrans.pl: 1.127 -> 1.128 
      switch_to_git_translations.pl: INITIAL -> 1.1 
      touch_translations.pl: 1.9 -> 1.10 
      vcs-test.pl: INITIAL -> 1.1 
      Perl/Local/Util.pm: 1.4 -> 1.5 
      Perl/Local/VCS.pm: 1.3 -> 1.4 
      Perl/Local/VCS_CVS.pm: 1.13 -> 1.14 
      Perl/Local/VCS_git.pm: 1.12 -> 1.13 
      Perl/Webwml/Langs.pm: 1.5 -> 1.6 
      Perl/Webwml/TransIgnore.pm: 1.3 -> 1.4
      afdb2973
    • Steve McIntyre's avatar
      Remove unused Gitinfo.pm file · 48801d29
      Steve McIntyre authored
      CVS version numbers
      
      Perl/Local/Gitinfo.pm: 1.2 -> 1.3(DEAD)
      48801d29
  12. 04 May, 2018 1 commit
  13. 07 Nov, 2017 13 commits
  14. 06 Jun, 2017 1 commit