xKiv
Active member
Some ideas:
1) maybe rebasing updated files should only be peformed for files that are directly in scripts/ - so svn scripts/aaa.ash could be matched to scripts/aaa.ash, scripts/tools/aaa.ash, scripts/scriptname/whatever/aaa.ash; but scripts/name/aaa.ash could only be matched to scripts/name/aaa.ash
- this would at least make sure that rebasing doesn't overwrite any files that wouldn't be overwritten anyway
2) or if you are feeling fancy, match not just the basename, but entire subpath under scripts/ - so svn scrips/a/b/c.ash could be matched to scripts/xxx/a/b/c.ash, but not scripts/a/xxx/b/c.ash
3) or maybe scripts from svn should just each be installed into its own subdirectory of scripts/ (something like svn/x/scripts/name.ash -> scripts/x/name.ash)
- installing/updating would do no rebasing
- clashes would be immediately obvious: the duplicates would be script names (two scripts registered under the same name in script registry)
- does not, on its own, help against multiple scripts using the same basenames
- importing and calling should probably be able to find scripts/x/lib/liblele.ash when script/cli references x/lib/liblele.ash
-- this might be easier for imports; give priority to files belonging to the same script: when scripts/x/main.ash imports lib/liblele.ash, it probably means x/lib/liblele.ash rather than someothery/lib/liblele.ash
- I like the idea of scripts declaring their entry points, which could be exempt (and installed directly under scripts/whatever/the/script/declared.ash)
4) if we want to keep the simple ability to reference scripts by base name (for imports and calling from cli), maybe just refuse to install any script that has duplicate (base) filename with any other script in svn/ ?
5) don't forget about local-only scripts (not installed from svn); how do you publish those to script menu if you require entry points to be declared from svn?
1) maybe rebasing updated files should only be peformed for files that are directly in scripts/ - so svn scripts/aaa.ash could be matched to scripts/aaa.ash, scripts/tools/aaa.ash, scripts/scriptname/whatever/aaa.ash; but scripts/name/aaa.ash could only be matched to scripts/name/aaa.ash
- this would at least make sure that rebasing doesn't overwrite any files that wouldn't be overwritten anyway
2) or if you are feeling fancy, match not just the basename, but entire subpath under scripts/ - so svn scrips/a/b/c.ash could be matched to scripts/xxx/a/b/c.ash, but not scripts/a/xxx/b/c.ash
3) or maybe scripts from svn should just each be installed into its own subdirectory of scripts/ (something like svn/x/scripts/name.ash -> scripts/x/name.ash)
- installing/updating would do no rebasing
- clashes would be immediately obvious: the duplicates would be script names (two scripts registered under the same name in script registry)
- does not, on its own, help against multiple scripts using the same basenames
- importing and calling should probably be able to find scripts/x/lib/liblele.ash when script/cli references x/lib/liblele.ash
-- this might be easier for imports; give priority to files belonging to the same script: when scripts/x/main.ash imports lib/liblele.ash, it probably means x/lib/liblele.ash rather than someothery/lib/liblele.ash
- I like the idea of scripts declaring their entry points, which could be exempt (and installed directly under scripts/whatever/the/script/declared.ash)
4) if we want to keep the simple ability to reference scripts by base name (for imports and calling from cli), maybe just refuse to install any script that has duplicate (base) filename with any other script in svn/ ?
5) don't forget about local-only scripts (not installed from svn); how do you publish those to script menu if you require entry points to be declared from svn?