问题列表 - 第48053页

在一次开发多个未来版本时,什么是良好的分支策略?

过去

我使用subversion作为scm开发了一个软件项目.到目前为止,开发总是发生在trunk,所以当需要修复bug修复时会出现问题.现在,我们想重新考虑我们的分支策略,其要求是:我们希望能够同时处理多个未来版本.

任务

这意味着:假设,我们正在处理的当前版本是1.0.下一个计划版本是2.0,之后的版本是3.0.现在我们已经发布了1.0版本

  • 维护1.0版
  • 开发2.0的功能
  • 同时开发3.0的功能

当然,在其他两个版本中也需要在1.0中应用的修补程序.此外,2.0的功能也必须在3.0.此外,可能会计划一个次要版本,例如1.1,其中还包括新功能,并且必须单独维护.

可能的解决方案

我提出了以下分支策略:

  • 行李箱将被废弃
  • 对于每个新的计划发布,都会创建一个源自最后一个发布分支的分支
  • 更改在版本时间轴中"向上"传播

让我再详细说明一下:在给定的示例中,我们将从trunk分支1.0版.此外,我们将从版本1.0分支2.0版,从2.0版分支3.0版.当在1.0中进行更改时,它将合并到2.0,然后合并到3.0.

所描述的分支策略的可视化(请原谅油漆质量差)

这个问题

这是一种有效的方法吗?它会在技术上有效吗?是否存在组织缺陷?有最佳做法吗?(所有互联网都会提出:"在主干中开发,在发布分支中维护").放弃后备箱对我来说特别奇怪 - 这是错的吗?

svn branch branching-strategy

5
推荐指数
1
解决办法
678
查看次数

C#将CSV加载到DataGrid中

所以我有一个CSV文件:

    Header1,Header2,Header3,Header4
    Data11,Data12,Data13,Data14
    Data21,Data22,Data23,Data24
    Data31,Data32,Data33,Data34
    Data41,Data42,Data43,Data44
Run Code Online (Sandbox Code Playgroud)

和一个DataGridWPF项目.我不能,为了我的生活,让它进口.我试图之前做的是添加所有的列(Header1,Header2,Header3,Header4)然后添加行......但似乎没有什么办法来添加行.所以我尝试使用ItemSource......但没有运气.

那么......如何将CSV文件导入到System.Windows.Controls.DataGrid

UPDATE

所以我尝试了这个:

    DataTable table = CSVReader.ReadCSVFile(fileName, true);
    dataGrid.ItemsSource = table.DefaultView;
Run Code Online (Sandbox Code Playgroud)

它似乎有点工作...... 行显示,但没有列或内容

更新2

所以在打开之后AutoGenerateColumns,一切都很完美.

c# wpfdatagrid

3
推荐指数
1
解决办法
8043
查看次数

Mootools:注入vs采用

我想动态添加一些预先配置的HTML元素,使用mootools的'click'事件.

因此,我可以使用我的基本知识,虽然它不是很漂亮.我到目前为止编码了这个......

这是我预先配置的元素,包含一些文本,一个类名和一些事件,因为我想要添加事件,当它插入我的容器时:

        var label = new Element('label', {
            'text': 'Label',
            'class': 'label',
            'events': {
                'click': function(el){
                    alert('click');
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

这是我的函数,它添加了标签元素:

        function addText(){
            $('fb-buildit').addEvent('click', function(){                   
           row.adopt(label, textinput, deletebtn);
            $('the-form').adopt(row.clone());
            row.empty();

    /*
    label.clone().inject($('the-form'));
    textinput.inject($('the-form'));
    deletebtn.inject($('the-form'));
    */

            });
        }
Run Code Online (Sandbox Code Playgroud)

第二部分使用注入也有效,但在那里,我的点击事件,它触发"警报('点击')"也有效.当它插入dom时,采用的方法不会向我的标签Object添加任何事件.

谁能帮我这个.我只是想知道为什么adobt忽略了我的"事件"设置而没有注入.

提前致谢.

(对不起我的英文^^)

events mootools inject elements

5
推荐指数
1
解决办法
3576
查看次数

UIView的-drawRect:是否必须在主线程上调用?

是否-drawRect:必须在主线程上绘制UIView的方法,或者CADisplayLink 是否可以-setNeedsDisplay在不同的运行循环中调用自定义视图?

iphone uiview ios

0
推荐指数
1
解决办法
2033
查看次数

Chrome扩展程序,在选定的标签更新后,专注于页面而不是多功能框?

我创建了一个名为quickmarks的扩展,它将在当前选中的选项卡上按关键字打开书签.我正在使用omnibox来选择书签(chrome.omnibox.onInputEntered),并使用chrome.tabs.updateAPI在当前标签中打开书签的网址,方法是提供网址updateProperties.但是,在更新选项卡后,焦点仍然保留在多功能框中,这使得用户体验不如我想要的那么好.那么有没有办法将焦点设置到页面,而不是多功能框.

顺便说一句,我试图通过使用打开一个新的选项卡chrome.tabs.create.页面将被聚焦而不是多功能框,这是我想要的行为.

谢谢.

google-chrome google-chrome-extension

7
推荐指数
1
解决办法
1500
查看次数

我们如何更改小部件按钮的图像?

我试图找到一种方法来改变按钮的图像,以便显示应用程序的当前状态.

这就是我到目前为止所做的......

HelloWidgetProvider.java

public class HelloWidgetProvider extends AppWidgetProvider {



@Override
public void onDeleted(Context context, int[] appWidgetIds) {
// TODO Auto-generated method stub
//super.onDeleted(context, appWidgetIds);
Toast.makeText(context, "onDeleted()", Toast.LENGTH_LONG).show();
}

@Override
public void onDisabled(Context context) {
// TODO Auto-generated method stub
//super.onDisabled(context);
Toast.makeText(context, "onDisabled()", Toast.LENGTH_LONG).show();
}



@Override
public void onEnabled(Context context) {
// TODO Auto-generated method stub
//super.onEnabled(context);
Toast.makeText(context, "onEnabled()", Toast.LENGTH_LONG).show();
}

public static String MY_WIDGET_UPDATE = "MY_OWN_WIDGET_UPDATE";

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
 int[] appWidgetIds) {
// TODO Auto-generated method …
Run Code Online (Sandbox Code Playgroud)

java android android-widget

6
推荐指数
1
解决办法
5925
查看次数

用C语言改变流

我想知道如何更改我的程序当前流?我的意思是我想从文件中获取输入.

c

1
推荐指数
1
解决办法
136
查看次数

SQL - 使用LIKE运算符搜索数据库

鉴于您的数据存储在数据库中的某个位置:

Hello my name is Tom I like dinosaurs to talk about SQL.  
SQL is amazing. I really like SQL.
Run Code Online (Sandbox Code Playgroud)

我们希望实施网站搜索,允许访问者输入条款并返回相关记录.用户可能会搜索:

Dinosaurs
Run Code Online (Sandbox Code Playgroud)

和SQL:

WHERE articleBody LIKE '%Dinosaurs%'
Run Code Online (Sandbox Code Playgroud)

通过返回正确的记录集来处理问题.

但是,如果用户误入恐龙,我们将如何应对?IE:

Dinosores
Run Code Online (Sandbox Code Playgroud)

(可怜的痛苦迪诺).我们如何搜索允许拼写错误?我们可以将我们在搜索中看到的常见拼写错误与正确的拼写相关联,然后搜索原始字词+更正后的字词,但维护时间很长.

有什么办法编程吗?

编辑

出现SOUNDEX可能有所帮助,但任何人都可以使用soundex给我一个输入搜索词的例子:

Dinosores wrocks
Run Code Online (Sandbox Code Playgroud)

返回记录而不是做:

WHERE articleBody LIKE '%Dinosaurs%' OR articleBody LIKE '%Wrocks%'
Run Code Online (Sandbox Code Playgroud)

谁会回来squadoosh?

sql spelling sql-like

8
推荐指数
1
解决办法
5366
查看次数

jQuery-AJAX将下拉列表重新绑定到存储过程的结果

我有一个很长的人名的下拉列表.多达2,000个名字.我想通过将下拉列表限制为一次一个名称的子集,更容易找到用户感兴趣的名称.我通过创建一系列26个链接(A,B,C ... Z)来完成此操作,这些链接调用后面代码中的方法,该方法仅使用用户单击的字母开头填充下拉列表.

这一切都运行良好,但我希望能够使用AJAX完成下拉列表的更新,而无需刷新页面.我想将jQuery用于AJAX功能而不是ASP.NET AJAX.

我的问题是我不知道如何执行存储过程然后通过jQuery AJAX用新数据集"重新绑定"下拉列表.可能提供和示例或演练的任何建议或资源?谢谢.

asp.net jquery dynamic-rebinding

2
推荐指数
1
解决办法
4104
查看次数

JSP:访问JSP EL标记内的枚举

我的java enum看起来像这样:

public enum EmailType { HOME, WORK, MOBILE, CUSTOMER_SERVICE, OTHER }
Run Code Online (Sandbox Code Playgroud)

在JSP中,我试图做下面的事情,这是行不通的.

<c:choose>
          <c:when test="${email.type == EmailType.HOME}">(Home)</c:when>
          <c:when test="${email.type == EmailType.WORK}">(Work)</c:when>
</c:choose>
Run Code Online (Sandbox Code Playgroud)

谷歌搜索后,我发现这些链接:在JSP中的枚举.但是,我想避免在JSP中使用scriplets.如何访问EL标签内的java枚举并进行比较?请帮忙.

jsp

8
推荐指数
1
解决办法
1万
查看次数