Compare Harvest to other source control systems? [closed] - version-control

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
From the top, "source control" seems like a bad way to describe CA Harvest; it's a deployment control system, and it's actually pretty good at just deploying code. I've found it to be lacking when doing source control tasks, though.
If you've used Harvest;
what did it do right?
what couldn't it do?
what did it do with a workaround so hackish it took 3x longer than you'd expect?

(Someone correct me if I'm wrong.) Harvest seems awesome for deployment control, enforcing steps along a deployment lifecycle, and getting a chain of approval for deployments to production. That said, it's missing on the developer-friendly side.
It seems like I need to use the Workareas; they let me put all the code on my local machine, so I can do development.
With Workareas, I can only synchronize from the repository, but not get a report of what just sync'ed in; I don't know what changed, or who changed it, or why.
To add comments to checkins using Workareas, you have to manually enable the functionality in the preferences, which is a huge red flag to me.
I can't seem to figure out how to find out what changed since a specific time; what changed since Friday at 5 PM, for example?
There aren't any atomic commits; I can't commit files as a group, then roll the group back later if something goes wrong. I can do it as a package, but that's heavyweight; a package should be able to contain hundreds of atomic commits/groups.
And worst of all, it's entirely unsupported by Stack Overflow and/or any other question-and-answer site I can find. If I can't figure it out... I'm shooting blind.

We're currently migrating away from Harvest.
Configuration management and code deployment. We have a pretty good process flow going.
Branching and merging. Horrible SCM tool really.
?

Related

When not to rebuild the wheel? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I just graduated and started my career as a junior software engineer. The one thing I am struggling with right now is not knowing when to stop doing something from scratch.
Last week I was told to simulate a warehouse environment and tell my boss what sorts of layout should be optimal. I spent days trying to build that in Simpy, Netlogo, Google OR tools. Even though I was aware there's a software tool called AnyLogic for doing all this for you, I just didn't use it.
After spending almost two weeks with partial development my boss wasn't satisfied with my work. And now I'm watching AnyLogic tutorials. I am not sure whether I should keep working on improving my partial work or switch to AnyLogic and save time.
I would highly appreciate if you give me some suggestions to know when to go for the built in stuff and when not to. I know it sounds very simple but it's actually not. Requirement analysis of a project is very tough.
Thank you. :D
If future flexibility (upgrading, knowing how it works, etc.) of doing it from scratch benefits you more than using a prebuilt system saves you time, do it from scratch. Otherwise it's not worth it. Time is money, and you can't get time back.
As long as you understand what exactly it is that you are doing with a prebuilt system then there is no issue in using it. When I code, am I doing something wrong by using VSCode instead of writing my own text editor? No, I know what a text editor does and how it does it.
When I use VSCode, am I doing something wrong by running it in Microsoft Windows or Linux, and not custom developing my own operating system? No, because I know what an operating system does.
The flexibility of writing my own software to do these tasks does not outweigh the time saved by using a prebuilt solution and therefore I will end up being more productive, and probably make more money in the end, by using them.

I was given a serverless app to work on at work, where to start as a noob? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
avoiding the obvious answer, "Maybe I shouldn't have been given this to work on."
Let's just assume I was given this as a complex 'test of my abilities to learn on the job'.
The app is using serverless framework and I understand the basics of the structure using AWS and where certain things go etc, but I am not used to the structure of the app i was given.
I have a folder for backend, app, and one for 'graph'. I would just like to know where to start? Is the suggested route to user 'serverless-offline' or being that I didn't design this app, should I go straight to plugging things into my AWS, and get it running that way? I know this is kind of a noob question, and regardless I'm just going to go ahead and start playing around with the two options, but I do have a small window of time to figure out how to get this running in a 'Dev' environment so I can give a quote on adding some new React things to the app.
Are you working for a consulting company that advertised you as an "expert" to a customer where you actually have a severe knowledge gap to even approach the project you've been put on?
If yes, you aren't going to get much more information here in a reasonable sized answer than you can easily find using a web search. In fact, your question is so vague that I personally think it's not answerable at all. So, get searching on your own, hopefully you can figure out enough stuff by the deadline that you/your company can "fake it until you make it".
If not, and you are an employee in a normal company, you should have some sort of knowledge transfer process in place where someone who is familiar with the application would tell you at least an overview of how it works and how to approach it for basic changes. Unless this person left the company and now there is nobody in house with the needed knowledge, which is your boss's/company's problem and - if they are a good company - they should give you a reasonable amount of time to figure out all of this stuff the hard way, in which case the answer is - again - get searching the web.

Is it safe to download code from GitHub? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I'm fairly new when it comes to using GitHub, so I'm a bit skeptical when it comes to downloading repos and running them on my machine. I am looking at a key logger right now, for personal use (fun) and not to do anything malicious.
Nothing that you download from the internet is 100% safe. However, you can generally gauge the safety of code on Github by the following factors:
# of Contributors/Commits: This tells you that there are a lot of people working on it, not just a single bad actor. While it is possible that it is a group conspiracy to infect users' computers, a larger # of people working to improve the code is generally a good sign.
# of Stars: Basically shows how many people are interested in the project. You can take this as a crowd-verified reputation system of sorts. If a lot of people are interested, it is likely not malicious.
Activity: Are people updating it, fixing bugs, etc? Ensure that there aren't open unaddressed bugs.
In terms of quality, you should also look for good documentation and the existence of unit tests to check that the code is clean.
As with anything you download over the internet, there could be malicious stuff when you download anything, some antivirus quickscan keep novices happy, most do automatically nowadays as people use the files.
When you do compile it and run it, well, it is assumed you KNOW what the program is when you compile you will have all the source code for it to compile. If the program is communicating with the internet through a backdoor, the backdoor should be pretty elaborate and is often not some simple 1 line of code (If the program is using any 3rd party linked libraries, checkout the libraries themselves).....security concern can go on and on.
but in the end, if you trust the dev who are working on the tree, download and run it. GitHub has pretty secure end-to-end transmission, and you can check the integrity of the repo with checksums to virtually eliminate the man-in-the-middle stuff.

How would you expect a revisions system to work? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I need to keep a revision system of changes. My question isn't the structure but the behavior.
For example, let's say you are working on a webpage in a code editor. How often would you make a revision for the developer as he's coding the page? Do you save when he saves? Do you save every hour? How many revisions should you keep?
What behavior would you expect in this scenario?
Update:
It seems that it makes a difference if the content is saved online versus saved locally. In my project it's saved online like, WordPress posts or Google docs. I can save locally to the cache or even to a directory on the users computer if they use the desktop software.
When you are versioning, you:
make sure that teammates will not override each-other's work
write a version diary for future use to be able to handle any scenario
Since it is possible that at some remote time in the future you will need to roll back, it is better to make sure that upon looking at the commit messages, you will be able to determine easier where to roll back. Also, commit messages are helping your teammates to determine what did you do. As a result, my advice is that you should make a commit whenever you have completed a small part of your work, so your commits should be atomic and their message should be speaking for themselves.

How to maintain a small repository of bash/python scripts [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
For the past several years, I've been making small (single file, 1-500 line) scripts (mostly bash & python) to automate random tasks (usually scientific data analysis). Most of these end up being one-offs, but sometimes I want to go back and revisit/change something, or end up with a rather unwieldy script that could benefit from some sort of version control. I should note that all of these scripts are done solely on my own, and don't necessarily need to be share-able.
Which type of versioning (SVN,CVS,git,Mercurial..) Has the simplest command structure/syntax for my use case? More importantly, the machines I connect to are behind rather finicky kerberos walls, so I'm not looking for any sophisticated server-based implementation.
I found this thread from 2010 asking a similar question, though it didn't really talk about specific options, just whether or not I should be using a single repository.
In short, which versioning system allows for simple same-directory approach with minimal bells & whistles (only checkouts and commits needed)?
Should I set up some sort of subversion/CVS/git repository and just throw everything in?
Yes.
For your use-case, I suppose, SVN can be best choice (with URL-based access to every object in repo you can easy and fast get access to any single file any revision of file and for your linear history "not the best" merge in SVN isn't problem). Local file:///-based repository will require minimum of maintenance. You can use single-repository, flat tree (all files in /trunk)