diff options
author | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-08-31 15:44:07 +0000 |
---|---|---|
committer | Jannis Pohlmann <jannis.pohlmann@codethink.co.uk> | 2012-08-31 15:44:07 +0000 |
commit | de019ebba77fc54ddfce9759fada9731625336f7 (patch) | |
tree | f7e8a30df70c2111e9e3cc8e5662ffc9c8c61893 /tests.branching/morph-repository-stored-in-cloned-repositories.script | |
parent | dfd41a201e9d7efd3e98653e94c11434302fe7a4 (diff) | |
download | morph-de019ebba77fc54ddfce9759fada9731625336f7.tar.gz |
Remember the repo that is cloned from during branch/checkout/edit
We do this by storing a morph.repository option in the local clone's
.git/config file. This way the user can rename local repositories or
move them around in a system branch in whatever way he or she likes
and we can still find the repository later by the same name.
Previously, we could only identify repositories in a system branch
by their directory name. Now things are more flexible and tolerant
of "unexpected" user behavior.
Diffstat (limited to 'tests.branching/morph-repository-stored-in-cloned-repositories.script')
-rwxr-xr-x | tests.branching/morph-repository-stored-in-cloned-repositories.script | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests.branching/morph-repository-stored-in-cloned-repositories.script b/tests.branching/morph-repository-stored-in-cloned-repositories.script new file mode 100755 index 00000000..bfc5499b --- /dev/null +++ b/tests.branching/morph-repository-stored-in-cloned-repositories.script @@ -0,0 +1,47 @@ +#!/bin/sh +# Copyright (C) 2012 Codethink Limited +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# Verify that morph branch/checkout/edit create repositories that have +# a "git config morph.repository" option set so that we can +# identify these repositories later even when the user has renamed or +# moved their local directories. + +set -eu + +cd "$DATADIR/workspace" + +"$SRCDIR/scripts/test-morph" init +"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch + +echo "morph.repository in branch root repository:" +cd "$DATADIR/workspace/newbranch/baserock:morphs" +git config morph.repository +echo + +cd "$DATADIR/workspace" +"$SRCDIR/scripts/test-morph" checkout baserock:morphs master + +echo "morph.repository in branch root repository of a checkout:" +cd "$DATADIR/workspace/master/baserock:morphs" +git config morph.repository +echo + +cd "$DATADIR/workspace/master" +"$SRCDIR/scripts/test-morph" edit baserock:hello master + +echo "morph.repository of an edited repository:" +cd "$DATADIR/workspace/master/baserock:hello" +git config morph.repository |