Mercurial > hgsubversion
comparison push_cmd.py @ 56:0be16f306a42
push_cmd: remove redundant variable in commit_from_rev()
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Mon, 03 Nov 2008 08:44:31 -0600 |
parents | 85fcac4e2291 |
children | c3c5546eefb1 |
comparison
equal
deleted
inserted
replaced
55:987e44afa71e | 56:0be16f306a42 |
---|---|
70 | 70 |
71 | 71 |
72 def commit_from_rev(ui, repo, rev_ctx, hg_editor, svn_url, base_revision): | 72 def commit_from_rev(ui, repo, rev_ctx, hg_editor, svn_url, base_revision): |
73 """Build and send a commit from Mercurial to Subversion. | 73 """Build and send a commit from Mercurial to Subversion. |
74 """ | 74 """ |
75 target_files = [] | |
76 file_data = {} | 75 file_data = {} |
77 svn = svnwrap.SubversionRepo(svn_url, username=merc_util.getuser()) | 76 svn = svnwrap.SubversionRepo(svn_url, username=merc_util.getuser()) |
78 parent = rev_ctx.parents()[0] | 77 parent = rev_ctx.parents()[0] |
79 parent_branch = rev_ctx.parents()[0].branch() | 78 parent_branch = rev_ctx.parents()[0].branch() |
80 branch_path = 'trunk' | 79 branch_path = 'trunk' |
94 props.setdefault(file, {})['svn:executable'] = '*' | 93 props.setdefault(file, {})['svn:executable'] = '*' |
95 if 'l' in rev_ctx.filectx(file).flags(): | 94 if 'l' in rev_ctx.filectx(file).flags(): |
96 props.setdefault(file, {})['svn:special'] = '*' | 95 props.setdefault(file, {})['svn:special'] = '*' |
97 | 96 |
98 if file not in parent: | 97 if file not in parent: |
99 target_files.append(file) | |
100 action = 'add' | 98 action = 'add' |
101 dirname = '/'.join(file.split('/')[:-1] + ['']) | 99 dirname = '/'.join(file.split('/')[:-1] + ['']) |
102 # check for new directories | 100 # check for new directories |
103 if not list(parent.walk(util.PrefixMatch(dirname))): | 101 if not list(parent.walk(util.PrefixMatch(dirname))): |
104 # check and see if the dir exists svn-side. | 102 # check and see if the dir exists svn-side. |
106 assert svn.list_dir('%s/%s' % (branch_path, dirname)) | 104 assert svn.list_dir('%s/%s' % (branch_path, dirname)) |
107 except core.SubversionException, e: | 105 except core.SubversionException, e: |
108 # dir must not exist | 106 # dir must not exist |
109 added_dirs.append(dirname[:-1]) | 107 added_dirs.append(dirname[:-1]) |
110 else: | 108 else: |
111 target_files.append(file) | |
112 base_data = parent.filectx(file).data() | 109 base_data = parent.filectx(file).data() |
113 if 'x' in parent.filectx(file).flags(): | 110 if 'x' in parent.filectx(file).flags(): |
114 if 'svn:executable' in props.setdefault(file, {}): | 111 if 'svn:executable' in props.setdefault(file, {}): |
115 del props[file]['svn:executable'] | 112 del props[file]['svn:executable'] |
116 else: | 113 else: |
120 del props[file]['svn:special'] | 117 del props[file]['svn:special'] |
121 else: | 118 else: |
122 props.setdefault(file, {})['svn:special'] = None | 119 props.setdefault(file, {})['svn:special'] = None |
123 action = 'modify' | 120 action = 'modify' |
124 else: | 121 else: |
125 target_files.append(file) | |
126 base_data = parent.filectx(file).data() | 122 base_data = parent.filectx(file).data() |
127 action = 'delete' | 123 action = 'delete' |
128 file_data[file] = base_data, new_data, action | 124 file_data[file] = base_data, new_data, action |
129 | 125 |
130 # TODO check for directory deletes here | 126 # TODO check for directory deletes here |
131 new_target_files = ['%s/%s' % (branch_path, f) for f in target_files] | 127 new_target_files = ['%s/%s' % (branch_path, f) for f in rev_ctx.files()] |
132 for tf, ntf in zip(target_files, new_target_files): | 128 for tf, ntf in zip(rev_ctx.files(), new_target_files): |
133 if tf in file_data: | 129 if tf in file_data: |
134 file_data[ntf] = file_data[tf] | 130 file_data[ntf] = file_data[tf] |
135 if tf in props: | 131 if tf in props: |
136 props[ntf] = props[tf] | 132 props[ntf] = props[tf] |
137 del props[tf] | 133 del props[tf] |