diff --git a/CHANGES.txt b/CHANGES.txt index b942b2d..e04d0c6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,8 @@ +## Version 1.8.0 du 19/05/2015-10:27 + +4779695 Intégration de la branche annex-support +89ad130 support de git-annex pour pp et pdev + ## Version 1.7.0 du 15/05/2015-16:11 16ad285 Intégration de la branche nutools diff --git a/VERSION.txt b/VERSION.txt index bd8bf88..27f9cd3 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -1.7.0 +1.8.0 diff --git a/lib/ulib/.ulibver b/lib/ulib/.ulibver index 3e6fe7d..c0cd064 100644 --- a/lib/ulib/.ulibver +++ b/lib/ulib/.ulibver @@ -1 +1 @@ -009000000 +009001000 diff --git a/lib/ulib/ptools b/lib/ulib/ptools index d1f62fb..09b348a 100644 --- a/lib/ulib/ptools +++ b/lib/ulib/ptools @@ -11,6 +11,7 @@ function is_any_branch() { if [ -z "$branch" ]; then branch="$(git_get_branch)" || return 2 fi + local annex; git_have_annex && annex=1 local spec r for spec in "$@"; do case "$spec" in @@ -36,6 +37,10 @@ function is_any_branch() { [ "$branch" == "develop" ] && continue [[ "$branch" == release-* ]] && continue [[ "$branch" == hotfix-* ]] && continue + if [ -n "$annex" ]; then + [ "$branch" == "git-annex" ] && continue + [[ "$branch" == synced/* ]] && continue + fi return 0 ;; -m|-master) @@ -56,6 +61,10 @@ function is_any_branch() { [ "$branch" == "develop" ] && continue [[ "$branch" == release-* ]] && continue [[ "$branch" == hotfix-* ]] && continue + if [ -n "$annex" ]; then + [ "$branch" == "git-annex" ] && continue + [[ "$branch" == synced/* ]] && continue + fi return 1 ;; esac @@ -82,7 +91,13 @@ function list_feature_branches() { grep -vF master | grep -vF develop | grep -v '^release-' | - grep -v '^hotfix-' + grep -v '^hotfix-' | + if git_have_annex; then + grep -vF git-annex | + grep -v '^synced/' + else + cat + fi } ################################################################################ diff --git a/lib/ulib/vcs b/lib/ulib/vcs index a2b196f..61483c1 100644 --- a/lib/ulib/vcs +++ b/lib/ulib/vcs @@ -369,6 +369,9 @@ function git_getrepos() { function git_geturl() { git config --get remote.origin.url } +function git_have_annex() { + [ -n "$(git config --get annex.uuid)" ] +} function git_add() { git add "$@" } @@ -450,13 +453,14 @@ function git_update() { git pull "$@" } function git_push() { - local all all_branches all_tags auto force args + local all all_branches all_tags auto force args no_annex parse_opts + "${PRETTYOPTS[@]}" \ -a,--all all=1 \ -b,--branches,--all-branches all_branches=1 \ -t,--tags,--all-tags all_tags=1 \ --auto auto=1 \ -f,--force force=1 \ + -n,--no-annex no_annex=1 \ @ args -- "$@" && set -- "${args[@]}" || { eerror "$args" return 1 @@ -479,6 +483,13 @@ function git_push() { # On a demandé à pusher tous les tags git push --tags return $? + elif git_have_annex; then + # Si une annexe existe dans le dépôt, demander à git-annex de faire la + # synchronisation, sauf si --no-annex est spécifié + if [ -z "$no_annex" ]; then + git annex sync + return $? + fi fi # sinon on push vers origin. vérifier la présence du remote @@ -690,7 +701,7 @@ function git_annex_initial() { local GIT_DIR GIT_WORK_TREE [ "$(cd "$repodir"; git rev-parse --is-bare-repository)" == false ] || return 0 - [ -n "$(GIT_DIR="$repodir/.git" git config annex.uuid)" ] && return 0 + [ -n "$(GIT_DIR="$repodir/.git" git config --get annex.uuid)" ] && return 0 # ici, on sait que git annex n'a pas encore été configuré # vérifier s'il existe des fichiers annexés