[devel] Q: .gear-rules и "апстримные" сорцы в отдельном бранче
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Вт Июн 20 20:09:45 MSD 2006
* Alexey I. Froloff <raorn@> [060620 19:26]:
> Таким образом получается что у нас "скачет" $tree_id. Это совсем
> бредовая идея или можно начинать готовить патч? ;-)
Патч на tar* оказался тривиальным, но не могу придумать описание
этой опции. У diff* синтаксис будет аналогичный.
А можно не пользоваться diff*, а периодически сваливать
результаты git-format-patch в отдельный каталог (после
git-rebase) и эти патчи накладывать в спеке.
--
Regards,
Sir Raorn.
----------- следующая часть -----------
From nobody Mon Sep 17 00:00:00 2001
From: Sir Raorn <raorn на altlinux.ru>
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 <raorn на altlinux.ru>
---
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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060620/6b8e62ed/attachment-0001.bin>
Подробная информация о списке рассылки Devel