author | Junio C Hamano <gitster@pobox.com> | |
Mon, 21 Jun 2010 13:02:44 +0000 (06:02 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 21 Jun 2010 13:02:44 +0000 (06:02 -0700) |
* gv/portable:
test-lib: use DIFF definition from GIT-BUILD-OPTIONS
build: propagate $DIFF to scripts
Makefile: Tru64 portability fix
Makefile: HP-UX 10.20 portability fixes
Makefile: HPUX11 portability fixes
Makefile: SunOS 5.6 portability fix
inline declaration does not work on AIX
Allow disabling "inline"
Some platforms lack socklen_t type
Make NO_{INET_NTOP,INET_PTON} configured independently
Makefile: some platforms do not have hstrerror anywhere
git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
test_cmp: do not use "diff -u" on platforms that lack one
fixup: do not unconditionally disable "diff -u"
tests: use "test_cmp", not "diff", when verifying the result
Do not use "diff" found on PATH while building and installing
enums: omit trailing comma for portability
Makefile: -lpthread may still be necessary when libc has only pthread stubs
Rewrite dynamic structure initializations to runtime assignment
Makefile: pass CPPFLAGS through to fllow customization
Conflicts:
Makefile
wt-status.h
test-lib: use DIFF definition from GIT-BUILD-OPTIONS
build: propagate $DIFF to scripts
Makefile: Tru64 portability fix
Makefile: HP-UX 10.20 portability fixes
Makefile: HPUX11 portability fixes
Makefile: SunOS 5.6 portability fix
inline declaration does not work on AIX
Allow disabling "inline"
Some platforms lack socklen_t type
Make NO_{INET_NTOP,INET_PTON} configured independently
Makefile: some platforms do not have hstrerror anywhere
git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
test_cmp: do not use "diff -u" on platforms that lack one
fixup: do not unconditionally disable "diff -u"
tests: use "test_cmp", not "diff", when verifying the result
Do not use "diff" found on PATH while building and installing
enums: omit trailing comma for portability
Makefile: -lpthread may still be necessary when libc has only pthread stubs
Rewrite dynamic structure initializations to runtime assignment
Makefile: pass CPPFLAGS through to fllow customization
Conflicts:
Makefile
wt-status.h
34 files changed:
diff --cc Makefile
index a863a068ab3bd5b5055372416060fef586864037,6b3b59bef529b7b297be27322f4fe348a0b3c390..3dc072fc8162be1b1d57db207a976b8b78928f04
+++ b/Makefile
# DESTDIR=
pathsep = :
--export prefix bindir sharedir sysconfdir
++export prefix bindir sharedir sysconfdir gitwebdir
CC = gcc
AR = ar
GIT-BUILD-OPTIONS: FORCE
@echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
@echo PERL_PATH=\''$(subst ','\'',$(PERL_PATH_SQ))'\' >>$@
+ @echo DIFF=\''$(subst ','\'',$(subst ','\'',$(DIFF)))'\' >>$@
+ @echo PYTHON_PATH=\''$(subst ','\'',$(PYTHON_PATH_SQ))'\' >>$@
@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
ifndef NO_PERL
$(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
- $(MAKE) -C gitweb gitwebdir=$(gitwebdir_SQ) install
++ $(MAKE) -C gitweb install
endif
ifndef NO_PYTHON
$(MAKE) -C git_remote_helpers prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' install
diff --cc builtin/apply.c
Simple merge
diff --cc builtin/blame.c
Simple merge
diff --cc builtin/checkout.c
Simple merge
diff --cc builtin/commit.c
index a8616866435a0a73aaa74ac1742399d7381c018a,30a00e0b633b765221d4717da7af4259c8608254..0e3ae3c11d7d3a582f3cb549d7d17aa1aea67d56
--- 1/builtin/commit.c
--- 2/builtin/commit.c
+++ b/builtin/commit.c
static enum {
STATUS_FORMAT_LONG,
STATUS_FORMAT_SHORT,
- STATUS_FORMAT_PORCELAIN,
+ STATUS_FORMAT_PORCELAIN
} status_format = STATUS_FORMAT_LONG;
+static int status_show_branch;
static int opt_parse_m(const struct option *opt, const char *arg, int unset)
{
diff --cc builtin/receive-pack.c
Simple merge
diff --cc builtin/remote.c
Simple merge
diff --cc cache.h
Simple merge
diff --cc commit.h
Simple merge
diff --cc config.mak.in
Simple merge
diff --cc configure.ac
Simple merge
diff --cc connect.c
Simple merge
diff --cc convert.c
Simple merge
diff --cc diff.h
Simple merge
diff --cc dir.c
Simple merge
diff --cc fast-import.c
Simple merge
diff --cc git-compat-util.h
Simple merge
diff --cc grep.h
Simple merge
diff --cc http-walker.c
Simple merge
diff --cc merge-recursive.h
Simple merge
diff --cc pretty.c
Simple merge
diff --cc refs.c
Simple merge
diff --cc remote.c
Simple merge
diff --cc t/Makefile
Simple merge
diff --cc t/lib-t6000.sh
index 985d517a1ce4cf2f80eed3d54c25b5fc912d5c6b,0000000000000000000000000000000000000000..ea25dd89e505525507c16c62d91fb07c092b064a
mode 100644,000000..100644
mode 100644,000000..100644
--- 1/t/lib-t6000.sh
--- /dev/null
+++ b/t/lib-t6000.sh
- diff $_name.expected $_name.actual
+: included from 6002 and others
+
+[ -d .git/refs/tags ] || mkdir -p .git/refs/tags
+
+:> sed.script
+
+# Answer the sha1 has associated with the tag. The tag must exist in .git or .git/refs/tags
+tag()
+{
+ _tag=$1
+ [ -f .git/refs/tags/$_tag ] || error "tag: \"$_tag\" does not exist"
+ cat .git/refs/tags/$_tag
+}
+
+# Generate a commit using the text specified to make it unique and the tree
+# named by the tag specified.
+unique_commit()
+{
+ _text=$1
+ _tree=$2
+ shift 2
+ echo $_text | git commit-tree $(tag $_tree) "$@"
+}
+
+# Save the output of a command into the tag specified. Prepend
+# a substitution script for the tag onto the front of sed.script
+save_tag()
+{
+ _tag=$1
+ [ -n "$_tag" ] || error "usage: save_tag tag commit-args ..."
+ shift 1
+ "$@" >.git/refs/tags/$_tag
+
+ echo "s/$(tag $_tag)/$_tag/g" > sed.script.tmp
+ cat sed.script >> sed.script.tmp
+ rm sed.script
+ mv sed.script.tmp sed.script
+}
+
+# Replace unhelpful sha1 hashses with their symbolic equivalents
+entag()
+{
+ sed -f sed.script
+}
+
+# Execute a command after first saving, then setting the GIT_AUTHOR_EMAIL
+# tag to a specified value. Restore the original value on return.
+as_author()
+{
+ _author=$1
+ shift 1
+ _save=$GIT_AUTHOR_EMAIL
+
+ GIT_AUTHOR_EMAIL="$_author"
+ export GIT_AUTHOR_EMAIL
+ "$@"
+ if test -z "$_save"
+ then
+ unset GIT_AUTHOR_EMAIL
+ else
+ GIT_AUTHOR_EMAIL="$_save"
+ export GIT_AUTHOR_EMAIL
+ fi
+}
+
+commit_date()
+{
+ _commit=$1
+ git cat-file commit $_commit | sed -n "s/^committer .*> \([0-9]*\) .*/\1/p"
+}
+
+on_committer_date()
+{
+ _date=$1
+ shift 1
+ GIT_COMMITTER_DATE="$_date"
+ export GIT_COMMITTER_DATE
+ "$@"
+ unset GIT_COMMITTER_DATE
+}
+
+# Execute a command and suppress any error output.
+hide_error()
+{
+ "$@" 2>/dev/null
+}
+
+check_output()
+{
+ _name=$1
+ shift 1
+ if eval "$*" | entag > $_name.actual
+ then
++ test_cmp $_name.expected $_name.actual
+ else
+ return 1;
+ fi
+}
+
+# Turn a reasonable test description into a reasonable test name.
+# All alphanums translated into -'s which are then compressed and stripped
+# from front and back.
+name_from_description()
+{
+ perl -pe '
+ s/[^A-Za-z0-9.]/-/g;
+ s/-+/-/g;
+ s/-$//;
+ s/^-//;
+ y/A-Z/a-z/;
+ '
+}
+
+
+# Execute the test described by the first argument, by eval'ing
+# command line specified in the 2nd argument. Check the status code
+# is zero and that the output matches the stream read from
+# stdin.
+test_output_expect_success()
+{
+ _description=$1
+ _test=$2
+ [ $# -eq 2 ] || error "usage: test_output_expect_success description test <<EOF ... EOF"
+ _name=$(echo $_description | name_from_description)
+ cat > $_name.expected
+ test_expect_success "$_description" "check_output $_name \"$_test\""
+}
diff --cc t/t0000-basic.sh
Simple merge
diff --cc t/t3200-branch.sh
index 9d2c06ea69d5e3a9d1c464a4d619245d6823c082,8818d0de689327ad9e0922dfd3e784804e142f41..859b99abf1cc62c966322fcfc552c0a7eb7356df
--- 1/t/t3200-branch.sh
--- 2/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
git checkout -b g/h/i -l master &&
test -f .git/refs/heads/g/h/i &&
test -f .git/logs/refs/heads/g/h/i &&
- diff expect .git/logs/refs/heads/g/h/i'
+ test_cmp expect .git/logs/refs/heads/g/h/i'
+test_expect_success 'checkout -b makes reflog by default' '
+ git checkout master &&
+ git config --unset core.logAllRefUpdates &&
+ git checkout -b alpha &&
+ test -f .git/logs/refs/heads/alpha &&
+ PAGER= git reflog show alpha
+'
+
+test_expect_success 'checkout -b does not make reflog when core.logAllRefUpdates = false' '
+ git checkout master &&
+ git config core.logAllRefUpdates false &&
+ git checkout -b beta &&
+ ! test -f .git/logs/refs/heads/beta &&
+ test_must_fail PAGER= git reflog show beta
+'
+
+test_expect_success 'checkout -b with -l makes reflog when core.logAllRefUpdates = false' '
+ git checkout master &&
+ git checkout -lb gamma &&
+ git config --unset core.logAllRefUpdates &&
+ test -f .git/logs/refs/heads/gamma &&
+ PAGER= git reflog show gamma
+'
+
test_expect_success 'avoid ambiguous track' '
git config branch.autosetupmerge true &&
git config remote.ambi1.url lalala &&
diff --cc t/t3903-stash.sh
Simple merge
diff --cc t/t4124-apply-ws-rule.sh
Simple merge
diff --cc t/t9400-git-cvsserver-server.sh
Simple merge
diff --cc t/test-lib.sh
Simple merge
diff --cc unpack-trees.c
Simple merge
diff --cc wt-status.c
Simple merge
diff --cc wt-status.h
index 4f190454e5b2ad46b33894fb55aa7dd8dd28d604,389e65f68acca1622551025665b0b88bf70800d2..4cd74c4b32f51dbe575b0a04a894a520df79e9bf
--- 1/wt-status.h
--- 2/wt-status.h
+++ b/wt-status.h
WT_STATUS_CHANGED,
WT_STATUS_UNTRACKED,
WT_STATUS_NOBRANCH,
- WT_STATUS_UNMERGED
+ WT_STATUS_UNMERGED,
+ WT_STATUS_LOCAL_BRANCH,
- WT_STATUS_REMOTE_BRANCH,
++ WT_STATUS_REMOTE_BRANCH
};
enum untracked_status_type {