monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] "monotone update -r" fails on renamed files


From: Thomas Haas
Subject: [Monotone-devel] "monotone update -r" fails on renamed files
Date: Mon, 05 Sep 2005 14:14:30 +0200
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Hi

I have renamed files in my repository and when going back to a revision
prior to renaming the file using "monotone update -r", the operation
fails. The current file is deleted and the old file not restored.

Reverting to a previous revision without a the rename operation in
between works as expected.

Is there an alternative way to go back to an older revision?

Kind regards
- tom

I can reproduce the problem using the following sequence of commands
(MT/debug attached):

# Create new file.
$ echo New File > A.txt

# Add file to the repository
$ monotone add A.txt
monotone: adding Rename/A.txt to working copy add set

# Commit
$ monotone  --branch=ch.bot.tracy.TEST commit -m Commit.
monotone: beginning commit on branch 'ch.bot.tracy.TEST'
monotone: committed revision 91538e3f64752afff7696b1ff8730192b984bb7b

# Rename in monotone
$ monotone rename A.txt B.txt
monotone: adding Rename/A.txt -> Rename/B.txt to working copy rename set

# Rename and change file
$ mv A.txt B.txt; echo Change to B.txt >> B.txt

# Commit
$ monotone  --branch=ch.bot.tracy.TEST commit -m Commit.
monotone: beginning commit on branch 'ch.bot.tracy.TEST'
monotone: committed revision 1cf6c9eef09558c1633173dfff45d44116418d03

# Rename in monotone
$ monotone rename B.txt C.txt
monotone: adding Rename/B.txt -> Rename/C.txt to working copy rename set

# Rename and change file
$ mv B.txt C.txt; echo Change to C.txt >> C.txt

# Commit.
$ monotone  --branch=ch.bot.tracy.TEST commit -m Commit.
monotone: beginning commit on branch 'ch.bot.tracy.TEST'
monotone: committed revision 87f37a1ea3071d9826c9d3699c89d4783bea097f

# Return to previous version
$ monotone update -r 91538e3f64752afff7696b1ff8730192b984bb7b
monotone: selected update target 91538e3f64752afff7696b1ff8730192b984bb7b
monotone: moving Rename/C.txt -> MT/tmp/2
monotone: moving Rename -> MT/tmp/1
monotone: fatal: std::exception: boost::filesystem::rename: "Rename",
"MT\tmp\1": The process cannot access the file because it is being used
by another process.
monotone: this is almost certainly a bug in monotone.
monotone: please send this error message, the output of 'monotone
--full-version',
monotone: and a description of what you were doing to
address@hidden

monotone: wrote debugging log to MT/debug



$ monotone --full-version
monotone 0.22 (base revision: 28058ae3e850229a5d8fae65415cbbf82b435377)
Running on: Windows NT/2000/XP (5.0, build 2195) on ia32 (level 6, rev 2817)
Changes since base revision:

new_manifest [10362ee0d4a3dc70c67ab38ec21db76d3d231320]

old_revision [28058ae3e850229a5d8fae65415cbbf82b435377]
old_manifest [10362ee0d4a3dc70c67ab38ec21db76d3d231320]


  Generated from data cached in the distribution;
  further changes may have been made.

  Generated from data cached in the distribution;
  further changes may have been made.

started up on Windows NT/2000/XP (5.0, build 2195) on ia32 (level 6, rev 2817)
command line: 'c:\Program Files\monotone\monotone.exe', 'update', '-r', 
'91538e3f64752afff7696b1ff8730192b984bb7b'
set locale: LC_CTYPE=German_Switzerland.1252, LC_MESSAGES=n/a
initial path is z:/Some/Else/Rename
converting 38 bytes from ASCII to UTF-8
converting 6 bytes from ASCII to UTF-8
converting 2 bytes from ASCII to UTF-8
converting 40 bytes from ASCII to UTF-8
searching for 'MT' directory with root '/'
'MT' not found in 'z:/Some/Else/Rename' with '' removed
search for 'MT' ended at 'z:/Some/Else' with 'Rename' removed
initializing from directory z:/Some/Else/Rename
found working copy directory z:/Some/Else
options path is MT/options
branch name is 'ch.bot.tracy.TEST'
relative directory is 'Rename'
local dump path is MT/debug
setting dump path to MT/debug
Searching for home directory
Home directory from USERPROFILE
opening rcfile 'C:/Documents and Settings/tha/.monotone/monotonerc' ...
'C:/Documents and Settings/tha/.monotone/monotonerc' is ok
skipping nonexistent rcfile 'MT/monotonerc'
executing update command
options path is MT/options
revision path is MT/revision
loading revision id from MT/revision
prepared statement SELECT id FROM revisions WHERE id = ?
binding 1 parameters for SELECT id FROM revisions WHERE id = ?
binding 1 with value '87f37a1ea3071d9826c9d3699c89d4783bea097f'
prepared statement SELECT data FROM revisions WHERE id = ?
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '87f37a1ea3071d9826c9d3699c89d4783bea097f'
old manifest is 5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6
prepared statement SELECT id FROM manifest_deltas WHERE id = ?
binding 1 parameters for SELECT id FROM manifest_deltas WHERE id = ?
binding 1 with value '5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6'
prepared statement SELECT id FROM manifests WHERE id = ?
binding 1 parameters for SELECT id FROM manifests WHERE id = ?
binding 1 with value '5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6'
binding 1 parameters for SELECT id FROM manifests WHERE id = ?
binding 1 with value '5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6'
prepared statement SELECT data FROM manifests WHERE id = ?
binding 1 parameters for SELECT data FROM manifests WHERE id = ?
binding 1 with value '5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6'
old manifest has 3 entries
work path is MT/work
no un-committed work file MT/work
lua isfunction() failed in get_fn
lua isfunction() failed in get_fn
new manifest is 5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6
binding 1 parameters for SELECT id FROM revisions WHERE id = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
binding 1 parameters for SELECT id FROM revisions WHERE id = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
prepared statement SELECT id, name, value, keypair, signature FROM 
revision_certs WHERE name = ? AND value = ?
binding 2 parameters for SELECT id, name, value, keypair, signature FROM 
revision_certs WHERE name = ? AND value = ?
binding 1 with value 'branch'
binding 2 with value 'Y2guYm90LnRyYWN5LlRFU1Q=
'
prepared statement SELECT id FROM public_keys WHERE id = ?
binding 1 parameters for SELECT id FROM public_keys WHERE id = ?
binding 1 with value 'address@hidden'
prepared statement SELECT keydata FROM public_keys WHERE id = ?
binding 1 parameters for SELECT keydata FROM public_keys WHERE id = ?
binding 1 with value 'address@hidden'
cert: signable text address@hidden:Y2guYm90LnRyYWN5LlRFU1Q=]
building verifier for 162-byte pub key
checking 175-byte (128 decoded) signature
cert ok
cert: signable text address@hidden:Y2guYm90LnRyYWN5LlRFU1Q=]
checking 175-byte (128 decoded) signature
cert ok
cert: signable text address@hidden:Y2guYm90LnRyYWN5LlRFU1Q=]
checking 175-byte (128 decoded) signature
cert ok
cert: signable text address@hidden:Y2guYm90LnRyYWN5LlRFU1Q=]
checking 175-byte (128 decoded) signature
cert ok
trust function liked 1 signers of branch cert on revision 
1cf6c9eef09558c1633173dfff45d44116418d03
trust function liked 1 signers of branch cert on revision 
87f37a1ea3071d9826c9d3699c89d4783bea097f
trust function liked 1 signers of branch cert on revision 
91538e3f64752afff7696b1ff8730192b984bb7b
trust function liked 1 signers of branch cert on revision 
d13fd67bf6414791c7efa07452cb4ed7c72ed9bf
prepared statement SELECT parent,child FROM revision_ancestry
binding 0 parameters for SELECT parent,child FROM revision_ancestry
selected update target 91538e3f64752afff7696b1ff8730192b984bb7b
prepared statement SELECT id, name, value, keypair, signature FROM 
revision_certs WHERE id = ? AND name = ? AND value = ?
binding 3 parameters for SELECT id, name, value, keypair, signature FROM 
revision_certs WHERE id = ? AND name = ? AND value = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
binding 2 with value 'branch'
binding 3 with value 'Y2guYm90LnRyYWN5LlRFU1Q=
'
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
binding 1 parameters for SELECT id FROM manifests WHERE id = ?
binding 1 with value '3f19024edf867b1611c7a03419d9af05deecbdf8'
reconstructing 3f19024edf867b1611c7a03419d9af05deecbdf8 in manifest_deltas
binding 1 parameters for SELECT id FROM manifest_deltas WHERE id = ?
binding 1 with value '3f19024edf867b1611c7a03419d9af05deecbdf8'
binding 1 parameters for SELECT id FROM manifests WHERE id = ?
binding 1 with value '3f19024edf867b1611c7a03419d9af05deecbdf8'
prepared statement SELECT base FROM manifest_deltas WHERE id = ?
binding 1 parameters for SELECT base FROM manifest_deltas WHERE id = ?
binding 1 with value '3f19024edf867b1611c7a03419d9af05deecbdf8'
inserting edge: 3f19024edf867b1611c7a03419d9af05deecbdf8 <- 
e8123daf33f7bd5a85a13c940fe4bde102ef1366
binding 1 parameters for SELECT id FROM manifests WHERE id = ?
binding 1 with value 'e8123daf33f7bd5a85a13c940fe4bde102ef1366'
binding 1 parameters for SELECT base FROM manifest_deltas WHERE id = ?
binding 1 with value 'e8123daf33f7bd5a85a13c940fe4bde102ef1366'
inserting edge: e8123daf33f7bd5a85a13c940fe4bde102ef1366 <- 
5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6
version cache hit on 5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6
following delta 5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6 -> 
e8123daf33f7bd5a85a13c940fe4bde102ef1366
prepared statement SELECT delta FROM manifest_deltas WHERE id = ? AND base = ?
binding 2 parameters for SELECT delta FROM manifest_deltas WHERE id = ? AND 
base = ?
binding 1 with value 'e8123daf33f7bd5a85a13c940fe4bde102ef1366'
binding 2 with value '5f81ad774d01cc72ebdf1c81fc72b40830cbf1b6'
following delta e8123daf33f7bd5a85a13c940fe4bde102ef1366 -> 
3f19024edf867b1611c7a03419d9af05deecbdf8
binding 2 parameters for SELECT delta FROM manifest_deltas WHERE id = ? AND 
base = ?
binding 1 with value '3f19024edf867b1611c7a03419d9af05deecbdf8'
binding 2 with value 'e8123daf33f7bd5a85a13c940fe4bde102ef1366'
calculating changeset from 87f37a1ea3071d9826c9d3699c89d4783bea097f to 
91538e3f64752afff7696b1ff8730192b984bb7b
searching for least common ancestor, 
left=87f37a1ea3071d9826c9d3699c89d4783bea097f 
right=91538e3f64752afff7696b1ff8730192b984bb7b
loading parents for node 1
prepared statement SELECT parent FROM revision_ancestry WHERE child = ?
binding 1 parameters for SELECT parent FROM revision_ancestry WHERE child = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
parent d13fd67bf6414791c7efa07452cb4ed7c72ed9bf -> node 2
loading parents for node 0
binding 1 parameters for SELECT parent FROM revision_ancestry WHERE child = ?
binding 1 with value '87f37a1ea3071d9826c9d3699c89d4783bea097f'
parent 1cf6c9eef09558c1633173dfff45d44116418d03 -> node 3
least common ancestor scan [par=2,anc=4]
loading parents for node 3
binding 1 parameters for SELECT parent FROM revision_ancestry WHERE child = ?
binding 1 with value '1cf6c9eef09558c1633173dfff45d44116418d03'
parent 91538e3f64752afff7696b1ff8730192b984bb7b -> node 1
loading parents for node 2
binding 1 parameters for SELECT parent FROM revision_ancestry WHERE child = ?
binding 1 with value 'd13fd67bf6414791c7efa07452cb4ed7c72ed9bf'
least common ancestor scan [par=4,anc=4]
found 2 intersecting nodes
found node 91538e3f64752afff7696b1ff8730192b984bb7b, ancestor of left 
87f37a1ea3071d9826c9d3699c89d4783bea097f and right 
91538e3f64752afff7696b1ff8730192b984bb7b
common ancestor is 91538e3f64752afff7696b1ff8730192b984bb7b
calculating composite changeset between 
91538e3f64752afff7696b1ff8730192b984bb7b and 
87f37a1ea3071d9826c9d3699c89d4783bea097f
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '87f37a1ea3071d9826c9d3699c89d4783bea097f'
adding parents of 87f37a1ea3071d9826c9d3699c89d4783bea097f to subgraph
adding parent 1cf6c9eef09558c1633173dfff45d44116418d03 to next frontier
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '1cf6c9eef09558c1633173dfff45d44116418d03'
adding parents of 1cf6c9eef09558c1633173dfff45d44116418d03 to subgraph
found parent 91538e3f64752afff7696b1ff8730192b984bb7b of 
1cf6c9eef09558c1633173dfff45d44116418d03
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '87f37a1ea3071d9826c9d3699c89d4783bea097f'
exploring changesets from parents of 87f37a1ea3071d9826c9d3699c89d4783bea097f, 
seeking towards 91538e3f64752afff7696b1ff8730192b984bb7b
considering parent 1cf6c9eef09558c1633173dfff45d44116418d03 of 
87f37a1ea3071d9826c9d3699c89d4783bea097f
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '1cf6c9eef09558c1633173dfff45d44116418d03'
exploring changesets from parents of 1cf6c9eef09558c1633173dfff45d44116418d03, 
seeking towards 91538e3f64752afff7696b1ff8730192b984bb7b
considering parent 91538e3f64752afff7696b1ff8730192b984bb7b of 
1cf6c9eef09558c1633173dfff45d44116418d03
revision 91538e3f64752afff7696b1ff8730192b984bb7b is relevant, composing with 
edge to 1cf6c9eef09558c1633173dfff45d44116418d03
concatenating change sets
concatenating 0 and 1 deltas
delta on Rename/B.txt in second changeset copied forward
finished concatenation
revision 1cf6c9eef09558c1633173dfff45d44116418d03 is relevant, composing with 
edge to 87f37a1ea3071d9826c9d3699c89d4783bea097f
concatenating change sets
concatenating 1 and 1 deltas
processing delta on Rename/B.txt
delta on Rename/B.txt in first changeset renamed to Rename/C.txt
fusing deltas on Rename/C.txt : 9155baa8dd21e90afb3857ab5dcb9aafff3fb6ab -> 
74221f9587ee22e006513a482fd0d1da46c546c4 and 
74221f9587ee22e006513a482fd0d1da46c546c4 -> 
08733e4e4b6bb1641f86911c6256dbb70b333bfe
finished concatenation
calculating composite changeset between 
91538e3f64752afff7696b1ff8730192b984bb7b and 
91538e3f64752afff7696b1ff8730192b984bb7b
binding 1 parameters for SELECT data FROM revisions WHERE id = ?
binding 1 with value '91538e3f64752afff7696b1ff8730192b984bb7b'
version cache hit on 3f19024edf867b1611c7a03419d9af05deecbdf8
inverting change set
converting delta 9155baa8dd21e90afb3857ab5dcb9aafff3fb6ab -> 
08733e4e4b6bb1641f86911c6256dbb70b333bfe on Rename/C.txt
inverse is delta 08733e4e4b6bb1641f86911c6256dbb70b333bfe -> 
9155baa8dd21e90afb3857ab5dcb9aafff3fb6ab on Rename/A.txt
concatenating change sets
concatenating 1 and 0 deltas
processing delta on Rename/A.txt
delta on Rename/A.txt in first changeset renamed to Rename/A.txt
finished concatenation
merging working copy with chosen edge 87f37a1ea3071d9826c9d3699c89d4783bea097f 
-> 91538e3f64752afff7696b1ff8730192b984bb7b
merging change sets
merge is copying delta 'Rename/A.txt' : 
'08733e4e4b6bb1641f86911c6256dbb70b333bfe' -> 
'9155baa8dd21e90afb3857ab5dcb9aafff3fb6ab'
concatenating change sets
concatenating 1 and 0 deltas
processing delta on Rename/A.txt
delta on Rename/A.txt in first changeset renamed to Rename/A.txt
finished concatenation
concatenating change sets
concatenating 0 and 1 deltas
delta on Rename/A.txt in second changeset copied forward
finished concatenation
finished merge
moving Rename/C.txt -> MT/tmp/2
moving Rename -> MT/tmp/1
statement cache statistics
prepared 13 statements
2 executions of SELECT base FROM manifest_deltas WHERE id = ?
1 executions of SELECT data FROM manifests WHERE id = ?
7 executions of SELECT data FROM revisions WHERE id = ?
2 executions of SELECT delta FROM manifest_deltas WHERE id = ? AND base = ?
2 executions of SELECT id FROM manifest_deltas WHERE id = ?
5 executions of SELECT id FROM manifests WHERE id = ?
1 executions of SELECT id FROM public_keys WHERE id = ?
3 executions of SELECT id FROM revisions WHERE id = ?
1 executions of SELECT id, name, value, keypair, signature FROM revision_certs 
WHERE id = ? AND name = ? AND value = ?
1 executions of SELECT id, name, value, keypair, signature FROM revision_certs 
WHERE name = ? AND value = ?
1 executions of SELECT keydata FROM public_keys WHERE id = ?
4 executions of SELECT parent FROM revision_ancestry WHERE child = ?
1 executions of SELECT parent,child FROM revision_ancestry

reply via email to

[Prev in Thread] Current Thread [Next in Thread]