Permalink
Commits on Apr 6, 2018
  1. Merge pull request #79 from tirolerstefan/annotated_tag

    realityforge committed Apr 6, 2018
    get real commit id using rev-parse
Commits on Apr 5, 2018
Commits on Feb 27, 2018
  1. test case: annotated tag

    Stefan Felkel
    Stefan Felkel committed Feb 27, 2018
  2. using rev-parse with ^{commit} instead of new function

    Stefan Felkel
    Stefan Felkel committed Feb 27, 2018
Commits on Feb 26, 2018
  1. use rev-list -1 instead of rev-parse

    Stefan Felkel
    Stefan Felkel committed Feb 26, 2018
    with rev-parse you won't get the real commit id, e.g. when tag is annotated
Commits on Feb 22, 2018
  1. Merge branch 'mattmccutchen-config-version'

    realityforge committed Feb 22, 2018
  2. Skip use of --ignore-trailing-space when not needed as not all diff i…

    realityforge committed Feb 22, 2018
    …mplementations include that parameter
  3. Prefer single quotes

    realityforge committed Feb 22, 2018
  4. Merge branch 'config-version' of https://github.com/mattmccutchen/braid

    realityforge committed Feb 22, 2018
    … into mattmccutchen-config-version
Commits on Feb 18, 2018
  1. Implement configuration versioning to defend against Braid version skew.

    mattmccutchen committed Feb 18, 2018
    Bump version to 1.1.0 according to the new policy that each
    configuration version corresponds to a different Braid minor version.
    
    Fixes #66.
    
    Now that we have the infrastructure:
    - Report loss of support for full-history mirrors as a breaking change.
      Fixes #56.
    - Correctly upgrade revision locks from Braid < 1.0.18.  Fixes #65.
Commits on Feb 17, 2018
Commits on Dec 31, 2017
  1. Add support for single-file mirrors.

    mattmccutchen committed Dec 30, 2017
    Fixes #64.
  2. Use upstream commit IDs instead of tree IDs in two places in "braid

    mattmccutchen committed Jun 7, 2017
    update".
    
    This is in preparation for supporting single-file mirrors, which will
    have a different data structure in place of the tree ID.
    
    - The check if the mirror is already up to date: I believe the change
      makes no difference because the only way to get here with switching ==
      false and was_locked == true is if the old and new upstream revision
      are equal (it's not enough if they have equal content at the remote
      path).  I'd like to clean up this code, but that becomes an invasive
      change that I don't want to block #64 and #66 on.
    - The label in conflict markup: This seems to make sense.
Commits on Dec 30, 2017
  1. Merge pull request #75 from mattmccutchen/missing-deps

    realityforge committed Dec 30, 2017
    Add missing gem dependencies.
  2. When a mirror has a nonempty remote path, use the basename of the remote

    mattmccutchen committed Jun 6, 2017
    path (instead of that of the repository URL) as the default local path.
    
    Update the tests for mirrors of subdirectories to specify the mirror
    path.  This means we lose the coverage of the default path, but it's
    pretty low-impact if this breaks.  If we used the new default path of
    "layouts" (the basename of the remote path, "layouts"), then we'd lose
    the coverage of unequal local and remote paths, which is a much more
    serious concern.
  3. Change "in_dir" test helper to change back to the original directory.

    mattmccutchen committed Jun 6, 2017
    Fix code that was mistakenly outside an "in_dir" block and only worked
    because of a previous "in_dir" block for the same directory.
  4. Delete Braid::Commands::Update::generate_tree_hash.

    mattmccutchen committed Jun 6, 2017
    It was superseded by git.make_tree_with_subtree in d95e864 and I forgot
    to remove it.
  5. Remove a few obsolete git operations.

    mattmccutchen committed Jun 7, 2017
    - merge_ours, merge_subtree (eb72030)
  6. Add missing gem dependencies:

    mattmccutchen committed Dec 27, 2017
    - json
    - bundler (development)
    
    Also, move `rake` dependency from Gemfile to gemspec.  I'm not aware of
    any reason why this particular dependency should go in the Gemfile.
  7. Copy commit.gpgsign from the source repository so that commits will b…

    realityforge committed Dec 30, 2017
    …e signed or not signed as appropriate when pushing to mirror
  8. Merge pull request #74 from mattmccutchen/diff-fetch

    realityforge committed Dec 30, 2017
    Before diffing a mirror, fetch the base revision if the downstream repository doesn't have it.
  9. Merge pull request #73 from mattmccutchen/deadlock

    realityforge committed Dec 30, 2017
    Use Open3.capture3 to read stdout and stderr of subprocesses without deadlock.
Commits on Dec 27, 2017
  1. Before diffing a mirror, fetch the base revision if the downstream

    mattmccutchen committed Dec 27, 2017
    repository doesn't have it.
    
    Remove the mock-based tests of Mirror#diff.  They would need to be
    updated, and I don't think it's worth continuing to maintain them when
    all callers are covered by integration tests.
    
    Fixes #69.
  2. Use Open3.capture3 to read stdout and stderr of subprocesses without

    mattmccutchen committed Dec 27, 2017
    deadlock.
    
    Remove Git#apply method that has been unused since 605ae22 rather than
    converting it.
    
    Set required_ruby_version to 2.2.0 in the gemspec, as agreed at
    #72 (comment) .
    It's more than enough for Open3.capture3.  JRuby knows its corresponding
    Ruby version, so we don't have to handle it specially.  Like gem
    versions, the Ruby version is not enforced at runtime.
    
    Remove Ruby 1.9.3 from the Travis CI configuration, since we're dropping
    support for it.
    
    Remove gem dependency on open4, which is no longer used.
    
    Fixes #72.
Commits on Sep 22, 2017
  1. Merge pull request #70 from mattmccutchen/lib-symlink

    realityforge committed Sep 22, 2017
    Don't pick up a different globally installed `lib/braid` if `bin/braid` is run through a symlink.
Commits on May 28, 2017
Commits on May 27, 2017
  1. Reimplement "braid diff".

    mattmccutchen committed May 27, 2017
    - Instead of diffing the mirror subtree of HEAD against the upstream
      mirror tree, construct a base tree with the mirror content moved to
      the downstream mirror path (much like "braid update" does) and run
      "git diff" against it.  Thus, the behavior with respect to uncommitted
      changes is the same as "git diff".
    - Allow arguments to be passed to "git diff".
    - Run "git diff" directly on the original stdout instead of capturing
      and re-printing its output, so "git diff" uses color and the pager if
      so configured.
    
    Fixes #44 and #45.
  2. Straighten out descriptions of existing "braid diff" test cases.

    mattmccutchen committed May 27, 2017
    - Don't say "on a mirror" because many of the test cases don't specify
      the mirror.
    - Consistently describe inputs before outputs.
  3. Raise an error if extra arguments are passed to Braid commands.

    mattmccutchen committed May 27, 2017
    Impose this general rule before adding special handling for "braid
    diff".
  4. Raise an error if Braid is not run from the root of a worktree.

    mattmccutchen committed May 27, 2017
    Currently, the behavior in that case is ill-defined.  We may add proper
    support for running in a subdirectory later.