Ничего себе, некоторые решения могут усложняться! Если вы не против использования простого глобального, просто воспользуйтесь тем, что сначала запускается событие нажатия кнопки ввода. Можно было бы дополнительно фильтровать селектор $ ('input') для одной из многих форм, используя $ ('# myForm input').
$(document).ready(function(){
var clkBtn = "";
$('input[type="submit"]').click(function(evt) {
clkBtn = evt.target.id;
});
$("#myForm").submit(function(evt) {
var btnID = clkBtn;
alert("form submitted; button id=" + btnID);
});
});
Это не симпатично: Как я полностью удаляю файл из истории репозитория?
Возможно, необходимо изменить производственный пароль для предотвращения svn проблемы в целом.
Я, может казаться, не нахожу истории пересмотра теперь - однако, могло просто случиться так, что я не смотрю в правильном месте.
Вы видите его путем рассмотрения истории папки, которая даст Вам пересмотр, где файл был все еще там, и таким образом Вы сможете восстановить конфиденциальный файл. Таким образом, это - плохое решение.
Если это - последний пересмотр (ГОЛОВА), Вы можете (РЕЗЕРВНОЕ КОПИРОВАНИЕ Вашего repo заранее) удаляют файлы того пересмотра в db\revs
и db\revprops
и затем запущенный следующий скрипт Python для фиксации, какой пересмотр Вы repo думает, ГОЛОВА.
например, если бы голова 522, и пароль фиксировался в 520, необходимо было бы удалить изменения 520,521 и 522.
(Этот сценарий не должен быть необходимым, после того как SVN стирают, реализован),
(Я не записал этот сценарий, я получил его отсюда),
#!/usr/bin/python
def dec_to_36(dec):
key = '0123456789abcdefghijklmnopqrstuvwxyz'
result = ''
while 1:
div = dec / 36
mod = dec % 36
dec = div
result = key[mod] + result
if dec == 0:
break
return result
import os, re, sys
repo_path = sys.argv[1]
rev_path = os.path.join(repo_path, 'db', 'revs')
current_path = os.path.join(repo_path, 'db', 'current')
id_re = re.compile(r'^id:\ ([a-z0-9]+)\.([a-z0-9]+)\.r([0-9]+).*')
max_node_id = 0
max_copy_id = 0
max_rev_id = 0
for rev in os.listdir(rev_path):
f = open(os.path.join(rev_path, rev), 'r')
for line in f:
m = id_re.match(line)
if m:
node_id = int(m.group(1), 36)
copy_id = int(m.group(2), 36)
rev_id = int(m.group(3), 10)
if copy_id > max_copy_id:
max_copy_id = copy_id
if node_id > max_node_id:
max_node_id = node_id
if rev_id > max_rev_id:
max_rev_id = rev_id
f = open(current_path, 'w+b')
f.write("%d %s %s\n" % (max_rev_id, dec_to_36(max_node_id+1),
dec_to_36(max_copy_id+1)))
f.close()
Ваш пароль все еще там (svn кошка file@2342, где 2342 пересмотр, файл был все еще там).
Вы можете ''svnadmin дамп'' Вы repos в файл, поиск и заменять Вас пароль "ультрасекретом', ''svnadmin создают'' новый repos и ''svnadmin загрузка'' измененный дамп в тот новый repos. знать о двоичных данных в Вашем дампе, так используйте надлежащий editor/sed.
Это, казалось, работало. Таким образом, то, что я сделал, было:
Я, может казаться, не нахожу истории пересмотра теперь - однако, могло просто случиться так, что я не смотрю в правильном месте.
Таким образом, измененный вопрос теперь был бы, как я могу найти историю пересмотра файла, который был удален и затем повторно отправил SVN?
(BTW, который я приношу извинения за то, что не был задан вопрос более точно ранее как я, никогда не упоминал, что одна из опций состояла в том, чтобы стереть всю историю пересмотра, поскольку это не произошло со мной.)
Я не уверен. Вы могли всегда создавать новый файл и копировать последний пересмотр в это, вытирая предшествующую историю пересмотра.