Fossil SCM

Apply <code>encodeURIComponent()</code> function to the generated regular expression before appending it to the hyperlink's prefix. This should handle some awkward characters within branch names. Spaces and commas are a noteworthy examples of characters that still should be avoided within branch names.

george 2021-04-22 00:26 brlist-timeline
Commit 6281f24edb982bde829531dc7a51c033c9a5c888b0edb822917e4aedab457cc0
1 file changed +10 -2
--- src/fossil.page.brlist.js
+++ src/fossil.page.brlist.js
@@ -20,10 +20,12 @@
2020
var onChange = function( event ){
2121
var cbx = event.target;
2222
var tr = cbx.parentElement.parentElement;
2323
var tag = cbx.parentElement.children[0].innerText;
2424
var re = anchor.href.substr(prefix.length);
25
+ try{re = decodeURIComponent(re);}
26
+ catch{console.log("decodeURIComponent() failed for ",re);}
2527
var selected = ( re != "" ? re.split("|") : [] );
2628
if( cbx.checked ){
2729
selected.push(tag);
2830
tr.classList.add('selected');
2931
}
@@ -36,11 +38,14 @@
3638
if( selected.length >= 1 )
3739
anchor.classList.add('selected');
3840
else
3941
anchor.classList.remove('selected');
4042
41
- anchor.href = prefix + selected.join("|");
43
+ re = selected.join("|");
44
+ try{re = encodeURIComponent(re);}
45
+ catch{console.log("encodeURIComponent() failed for ",re);}
46
+ anchor.href = prefix + re;
4247
anchor.innerHTML = "View " + selected.length +
4348
( selected.length > 1 ? " branches" : " branch" );
4449
// console.log("Link:",anchor.href);
4550
}
4651
@@ -54,14 +59,17 @@
5459
cbx.parentElement.parentElement.classList.add('selected');
5560
}
5661
});
5762
5863
if( stags.length != 0 ){
59
- anchor.href = prefix + stags.join("|");
64
+ var re = stags.join("|");
65
+ try{re = encodeURIComponent(re);}
66
+ catch{console.log("encodeURIComponent() failed for ",re);}
67
+ anchor.href = prefix + re;
6068
if( stags.length >= 1 ) {
6169
anchor.innerHTML = "View " + stags.length +
6270
( stags.length > 1 ? " branches" : " branch" );
6371
anchor.classList.add('selected');
6472
}
6573
}
6674
6775
}); // window.addEventListener( 'load' ...
6876
--- src/fossil.page.brlist.js
+++ src/fossil.page.brlist.js
@@ -20,10 +20,12 @@
20 var onChange = function( event ){
21 var cbx = event.target;
22 var tr = cbx.parentElement.parentElement;
23 var tag = cbx.parentElement.children[0].innerText;
24 var re = anchor.href.substr(prefix.length);
 
 
25 var selected = ( re != "" ? re.split("|") : [] );
26 if( cbx.checked ){
27 selected.push(tag);
28 tr.classList.add('selected');
29 }
@@ -36,11 +38,14 @@
36 if( selected.length >= 1 )
37 anchor.classList.add('selected');
38 else
39 anchor.classList.remove('selected');
40
41 anchor.href = prefix + selected.join("|");
 
 
 
42 anchor.innerHTML = "View " + selected.length +
43 ( selected.length > 1 ? " branches" : " branch" );
44 // console.log("Link:",anchor.href);
45 }
46
@@ -54,14 +59,17 @@
54 cbx.parentElement.parentElement.classList.add('selected');
55 }
56 });
57
58 if( stags.length != 0 ){
59 anchor.href = prefix + stags.join("|");
 
 
 
60 if( stags.length >= 1 ) {
61 anchor.innerHTML = "View " + stags.length +
62 ( stags.length > 1 ? " branches" : " branch" );
63 anchor.classList.add('selected');
64 }
65 }
66
67 }); // window.addEventListener( 'load' ...
68
--- src/fossil.page.brlist.js
+++ src/fossil.page.brlist.js
@@ -20,10 +20,12 @@
20 var onChange = function( event ){
21 var cbx = event.target;
22 var tr = cbx.parentElement.parentElement;
23 var tag = cbx.parentElement.children[0].innerText;
24 var re = anchor.href.substr(prefix.length);
25 try{re = decodeURIComponent(re);}
26 catch{console.log("decodeURIComponent() failed for ",re);}
27 var selected = ( re != "" ? re.split("|") : [] );
28 if( cbx.checked ){
29 selected.push(tag);
30 tr.classList.add('selected');
31 }
@@ -36,11 +38,14 @@
38 if( selected.length >= 1 )
39 anchor.classList.add('selected');
40 else
41 anchor.classList.remove('selected');
42
43 re = selected.join("|");
44 try{re = encodeURIComponent(re);}
45 catch{console.log("encodeURIComponent() failed for ",re);}
46 anchor.href = prefix + re;
47 anchor.innerHTML = "View " + selected.length +
48 ( selected.length > 1 ? " branches" : " branch" );
49 // console.log("Link:",anchor.href);
50 }
51
@@ -54,14 +59,17 @@
59 cbx.parentElement.parentElement.classList.add('selected');
60 }
61 });
62
63 if( stags.length != 0 ){
64 var re = stags.join("|");
65 try{re = encodeURIComponent(re);}
66 catch{console.log("encodeURIComponent() failed for ",re);}
67 anchor.href = prefix + re;
68 if( stags.length >= 1 ) {
69 anchor.innerHTML = "View " + stags.length +
70 ( stags.length > 1 ? " branches" : " branch" );
71 anchor.classList.add('selected');
72 }
73 }
74
75 }); // window.addEventListener( 'load' ...
76

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button