A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/GitoxideLabs/gitoxide/commit/3f2be402e20f7642f89721a6a7b9ce7e833dfce7 below:

Merge pull request #2065 from cruessler/add-asset-dir-to-blame-copy-r… · GitoxideLabs/gitoxide@3f2be40 · GitHub

@@ -23,6 +23,7 @@ pub(super) mod function {

23 23

dry_run: bool,

24 24

worktree_dir: &Path,

25 25

destination_dir: PathBuf,

26 +

asset_dir: Option<BString>,

26 27

file: &OsStr,

27 28

Options { verbatim }: Options,

28 29

) -> anyhow::Result<()> {

@@ -76,7 +77,8 @@ pub(super) mod function {

76 77

.blame_path

77 78

.expect("blame path to be present as `debug_track_path == true`");

78 79 79 -

let assets = destination_dir.join("assets");

80 +

let asset_dir = asset_dir.unwrap_or("assets".into());

81 +

let assets = destination_dir.join(asset_dir.to_os_str()?);

80 82

eprintln!("{prefix} create directory '{assets}'", assets = assets.display());

81 83 82 84

if !dry_run {

@@ -107,7 +109,7 @@ pub(super) mod function {

107 109

}

108 110

}

109 111 110 -

let mut blame_script = BlameScript::new(blame_infos, Options { verbatim });

112 +

let mut blame_script = BlameScript::new(blame_infos, asset_dir, Options { verbatim });

111 113

blame_script.generate()?;

112 114 113 115

let script_file = destination_dir.join("create-history.sh");

@@ -130,9 +132,9 @@ pub(super) mod function {

130 132

}

131 133 132 134

enum BlameScriptOperation {

133 -

InitRepository,

135 +

InitRepository(BString),

134 136

RemoveFile(String),

135 -

CommitFile(BString, ObjectId),

137 +

CommitFile(BString, BString, ObjectId),

136 138

CheckoutTag(ObjectId),

137 139

PrepareMerge(Vec<ObjectId>),

138 140

CreateTag(ObjectId),

@@ -141,15 +143,15 @@ pub(super) mod function {

141 143

impl Display for BlameScriptOperation {

142 144

fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {

143 145

match self {

144 -

BlameScriptOperation::InitRepository => write!(

146 +

BlameScriptOperation::InitRepository(asset_dir) => write!(

145 147

f,

146 148

r"#!/bin/sh

147 149 148 150

set -e

149 151 150 152

git init

151 153

echo .gitignore >> .gitignore

152 -

echo assets/ >> .gitignore

154 +

echo {asset_dir}/ >> .gitignore

153 155

echo create-history.sh >> .gitignore

154 156 155 157

"

@@ -160,16 +162,15 @@ echo create-history.sh >> .gitignore

160 162

git rm {src}

161 163

"

162 164

),

163 -

BlameScriptOperation::CommitFile(src, commit_id) => {

165 +

BlameScriptOperation::CommitFile(asset_dir, src, commit_id) => {

164 166

writeln!(f, r"# make file {src} contain content at commit {commit_id}")?;

165 167

if let Some(pos) = src.rfind_byte(b'/') {

166 168

let dirname = src[..pos].as_bstr();

167 169

writeln!(f, "mkdir -p \"{dirname}\"")?;

168 170

}

169 171

write!(

170 172

f,

171 -

r"#

172 -

cp ./assets/{commit_id}.commit ./{src}

173 +

r"cp ./{asset_dir}/{commit_id}.commit ./{src}

173 174

git add {src}

174 175

git commit -m {commit_id}

175 176

"

@@ -194,17 +195,19 @@ git commit -m {commit_id}

194 195

blame_infos: Vec<BlamePathEntry>,

195 196

seen: BTreeSet<ObjectId>,

196 197

script: Vec<BlameScriptOperation>,

198 +

asset_dir: BString,

197 199

options: Options,

198 200

}

199 201 200 202

impl BlameScript {

201 -

fn new(blame_infos: Vec<BlamePathEntry>, options: Options) -> Self {

202 -

let script = vec![BlameScriptOperation::InitRepository];

203 +

fn new(blame_infos: Vec<BlamePathEntry>, asset_dir: BString, options: Options) -> Self {

204 +

let script = vec![BlameScriptOperation::InitRepository(asset_dir.clone())];

203 205 204 206

Self {

205 207

blame_infos,

206 208

seen: BTreeSet::default(),

207 209

script,

210 +

asset_dir,

208 211

options,

209 212

}

210 213

}

@@ -265,7 +268,8 @@ git commit -m {commit_id}

265 268

if let Some(delete_previous_file_operation) = delete_previous_file_operation {

266 269

self.script.push(delete_previous_file_operation);

267 270

}

268 -

self.script.push(BlameScriptOperation::CommitFile(src, commit_id));

271 +

self.script

272 +

.push(BlameScriptOperation::CommitFile(self.asset_dir.clone(), src, commit_id));

269 273

} else {

270 274

let ([first], rest) = parents.split_at(1) else {

271 275

unreachable!();

@@ -277,7 +281,8 @@ git commit -m {commit_id}

277 281

if let Some(delete_previous_file_operation) = delete_previous_file_operation {

278 282

self.script.push(delete_previous_file_operation);

279 283

}

280 -

self.script.push(BlameScriptOperation::CommitFile(src, commit_id));

284 +

self.script

285 +

.push(BlameScriptOperation::CommitFile(self.asset_dir.clone(), src, commit_id));

281 286

} else {

282 287

self.script.push(BlameScriptOperation::PrepareMerge(

283 288

rest.iter().map(|blame_path_entry| blame_path_entry.commit_id).collect(),

@@ -286,7 +291,8 @@ git commit -m {commit_id}

286 291

if let Some(delete_previous_file_operation) = delete_previous_file_operation {

287 292

self.script.push(delete_previous_file_operation);

288 293

}

289 -

self.script.push(BlameScriptOperation::CommitFile(src, commit_id));

294 +

self.script

295 +

.push(BlameScriptOperation::CommitFile(self.asset_dir.clone(), src, commit_id));

290 296

}

291 297

}

292 298

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4