Check-in [90dbb9682c]
Overview
Comment:Updated to deal with files with commas in the name
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 90dbb9682cd0e7e43bac1d4e9a320d21f1fc1ce0
User & Date: rkeene on 2014-09-12 05:34:12
Other Links: manifest | tags
Context
2014-09-12
05:39
Fixed typo in previous commit check-in: a48b533f86 user: rkeene tags: trunk
05:34
Updated to deal with files with commas in the name check-in: 90dbb9682c user: rkeene tags: trunk
2014-09-11
19:57
Added symlink support check-in: 859535511c user: rkeene tags: trunk
Changes

Modified appfsd.tcl from [ccdd0bdb23] to [5c768f9af5].

247
248
249
250
251
252
253
254
255
256
257
258
259
260

261
262
263
264
265


266
267
268

269
270
271





272
273
274
275
276
277
278
247
248
249
250
251
252
253

254





255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281







-

-
-
-
-
-
+





+
+



+



+
+
+
+
+







			}

			set work [split $line ","]

			unset -nocomplain fileInfo
			set fileInfo(type) [lindex $work 0]
			set fileInfo(time) [lindex $work 1]
			set fileInfo(name) [lindex $work end]

			set fileInfo(name) [split [string trim $fileInfo(name) "/"] "/"]
			set fileInfo(directory) [join [lrange $fileInfo(name) 0 end-1] "/"]
			set fileInfo(name) [lindex $fileInfo(name) end]

			set work [lrange $work 2 end-1]
			set work [lrange $work 2 end]
			switch -- $fileInfo(type) {
				"file" {
					set fileInfo(size) [lindex $work 0]
					set fileInfo(perms) [lindex $work 1]
					set fileInfo(sha1) [lindex $work 2]

					set work [lrange 3 end]
				}
				"symlink" {
					set fileInfo(source) [lindex $work 0]
					set work [lrange 1 end]
				}
			}

			set fileInfo(name) [join $work ","]
			set fileInfo(name) [split [string trim $fileInfo(name) "/"] "/"]
			set fileInfo(directory) [join [lrange $fileInfo(name) 0 end-1] "/"]
			set fileInfo(name) [lindex $fileInfo(name) end]

			_db eval {INSERT INTO files (package_sha1, type, time, source, size, perms, file_sha1, file_name, file_directory) VALUES ($package_sha1, $fileInfo(type), $fileInfo(time), $fileInfo(source), $fileInfo(size), $fileInfo(perms), $fileInfo(sha1), $fileInfo(name), $fileInfo(directory) );}
			_db eval {UPDATE packages SET haveManifest = 1 WHERE sha1 = $package_sha1;}
		}

		return COMPLETE
	}
}