From nobody Mon Sep 17 00:00:00 2001 From: Sir Raorn Date: Tue, 20 Jun 2006 20:04:53 +0400 Subject: [PATCH] branch=branch_name parameter for tar command. With this option it is possible to keep unmodified upstream sources in another branch with help of git-cvsimport, git-svn, git-svnimport, git-pull and so on. Signed-off-by: Sir Raorn --- gear | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) 65871a4ac82d1fde66d3d2a724ce460334bf3504 diff --git a/gear b/gear index b113ce4..063e152 100755 --- a/gear +++ b/gear @@ -38,6 +38,7 @@ # name=archive_name - tar archive na # base=base_name - when specified it is added as a leading path # to the files in the generated tar archive. # spec=path_to_file - path to specfile which defines keywords; +# branch=branch_name - when specified sets [WRITEME] # Valid tar keywords are: # @dir@ - basename(path_to_directory); # @name@, @version@, @release@. @@ -330,6 +331,8 @@ get_tar_name() # Special non-empty marker. tar_base=' ' + tar_tree="$tree_id" + local opt quoted spec= spec_name= spec_version= spec_release= for opt; do @@ -341,6 +344,9 @@ get_tar_name() ;; base=*) tar_base="${opt#base=}" ;; + branch=*) + tar_tree="${opt#branch=}" + ;; *) rules_error "Unrecognized option: $opt" ;; esac @@ -359,6 +365,7 @@ get_tar_name() subst_keywords tar_name "$dir" "$spec_name" "$spec_version" "$spec_release" [ -z "$tar_base" -o "$tar_base" = ' ' ] || subst_keywords tar_base "$dir" "$spec_name" "$spec_version" "$spec_release" + subst_keywords tar_tree "$dir" "$spec_name" "$spec_version" "$spec_release" } make_tar() @@ -374,16 +381,18 @@ make_tar() shift [ "$tar_base" != ' ' ] || tar_base="$name" + tar_tree="$1" + shift local id if [ "$dir" = . ]; then - id="$tree_id" + id="$tar_tree" else local dir_name base_name quoted dir_name="$(dirname -- "$dir")" base_name="$(basename -- "$dir")" # modifies $tree - traverse_tree "$tree_id" "$dir_name" || + traverse_tree "$tar_tree" "$dir_name" || return 0 quoted="$(quote_sed_regexp "$base_name")" id="$(git-ls-tree "$tree" "$base_name" | @@ -424,7 +433,7 @@ make_archive() check_path dirname "$dir_name" get_tar_name "$(basename -- "$dir_name")" "$@" - make_tar "$cmd" "$dir_name" "$tar_name" "$tar_base" + make_tar "$cmd" "$dir_name" "$tar_name" "$tar_base" "$tar_tree" } copy_by_pattern() -- 1.3.3