Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
49ebb358
Commit
49ebb358
authored
Nov 12, 2007
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle new PATCH-$name files, improved $last_touch code,
fixed handling of dependent patches.
parent
1f41d42a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
17 deletions
+18
-17
patch-update
support/patch-update
+18
-17
No files found.
support/patch-update
View file @
49ebb358
...
...
@@ -15,18 +15,15 @@ $_ = join('', <IN>);
close
IN
;
my
@extra_files
=
m{\n([^\s:]+):.*\n\t\S}g
;
my
$incl_generated_files
;
$incl_generated_files
=
shift
if
@ARGV
&&
$ARGV
[
0
]
eq
'--gen'
;
my
$incl_generated_files
=
shift
if
@ARGV
&&
$ARGV
[
0
]
eq
'--gen'
;
system
"git-checkout master"
and
exit
1
;
my
$last_touch
=
time
;
if
(
$incl_generated_files
)
{
die
"'a' must not exist in the current directory.\n"
if
-
e
'a'
;
die
"'b' must not exist in the current directory.\n"
if
-
e
'b'
;
system
"./prepare-source && rsync -a @extra_files a/"
and
exit
1
;
}
my
$last_touch
=
time
;
my
(
@patches
,
%
local_patch
);
if
(
@ARGV
)
{
...
...
@@ -56,15 +53,14 @@ foreach my $patch (@patches) {
}
else
{
system
"git-checkout --track -b patch/$patch origin/patch/$patch"
and
exit
1
;
}
$last_touch
=
time
;
my
$parent
=
'master'
;
open
(
IN
,
'<'
,
'PATCH'
)
or
next
;
open
(
IN
,
'<'
,
"PATCH.$patch"
)
or
next
;
open
(
OUT
,
'>'
,
"patches/$patch.diff"
)
or
die
$!
;
while
(
<
IN
>
)
{
if
(
m#patch -p1 <patch/(\S+)\.diff#
&&
$1
ne
$patch
)
{
$parent
=
$1
;
if
(
m#patch -p1 <patch
es
/(\S+)\.diff#
&&
$1
ne
$patch
)
{
$parent
=
"patch/$1"
;
}
print
OUT
$_
;
}
...
...
@@ -77,19 +73,24 @@ foreach my $patch (@patches) {
system
$ENV
{
SHELL
}
and
exit
1
;
}
open
(
PIPE
,
'-|'
,
'git-diff'
,
'master'
)
or
die
$!
;
while
(
<
PIPE
>
)
{
last
if
m{^diff --git a/PATCH b/PATCH$}
;
print
OUT
$_
;
if
(
$incl_generated_files
)
{
system
"./prepare-source && rsync -a @extra_files b/"
and
exit
1
;
}
while
(
<
PIPE
>
)
{
last
if
m{^diff --git a/}
;
$last_touch
=
time
;
open
(
PIPE
,
'-|'
,
'git-diff'
,
$parent
)
or
die
$!
;
DIFF:
while
(
<
PIPE
>
)
{
while
(
m{^diff --git a/PATCH}
)
{
while
(
<
PIPE
>
)
{
last
if
m{^diff --git a/}
;
}
last
DIFF
if
!
defined
$_
;
}
print
OUT
$_
;
}
print
OUT
$_
,
<
PIPE
>
;
close
PIPE
;
if
(
$incl_generated_files
)
{
system
"./prepare-source && rsync -a @extra_files b/"
and
exit
1
;
open
(
PIPE
,
'-|'
,
'diff'
,
'-up'
,
'a'
,
'b'
)
or
die
$!
;
while
(
<
PIPE
>
)
{
s/^((?:---|\+\+\+) [^\t]+)\t.*/$1/
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment